Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/exp_smem.adb @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
4 -- -- | 4 -- -- |
5 -- E X P _ S M E M -- | 5 -- E X P _ S M E M -- |
6 -- -- | 6 -- -- |
7 -- B o d y -- | 7 -- B o d y -- |
8 -- -- | 8 -- -- |
9 -- Copyright (C) 1998-2014, Free Software Foundation, Inc. -- | 9 -- Copyright (C) 1998-2018, Free Software Foundation, Inc. -- |
10 -- -- | 10 -- -- |
11 -- GNAT is free software; you can redistribute it and/or modify it under -- | 11 -- GNAT is free software; you can redistribute it and/or modify it under -- |
12 -- terms of the GNU General Public License as published by the Free Soft- -- | 12 -- terms of the GNU General Public License as published by the Free Soft- -- |
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- | 13 -- ware Foundation; either version 3, or (at your option) any later ver- -- |
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
205 -- Not in a transient scope yet: insert Vde as an action on N prior to | 205 -- Not in a transient scope yet: insert Vde as an action on N prior to |
206 -- establishing one. | 206 -- establishing one. |
207 | 207 |
208 else | 208 else |
209 Insert_Action (N, Vde); | 209 Insert_Action (N, Vde); |
210 Establish_Transient_Scope (N, Sec_Stack => False); | 210 Establish_Transient_Scope (N, Manage_Sec_Stack => False); |
211 end if; | 211 end if; |
212 | 212 |
213 -- Mark object as locked in the current (transient) scope | 213 -- Mark object as locked in the current (transient) scope |
214 | 214 |
215 Append_New_Elmt | 215 Append_New_Elmt |
253 --------------------- | 253 --------------------- |
254 -- Add_Write_After -- | 254 -- Add_Write_After -- |
255 --------------------- | 255 --------------------- |
256 | 256 |
257 procedure Add_Write_After (N : Node_Id) is | 257 procedure Add_Write_After (N : Node_Id) is |
258 Ent : constant Entity_Id := Entity (N); | |
258 Loc : constant Source_Ptr := Sloc (N); | 259 Loc : constant Source_Ptr := Sloc (N); |
259 Ent : constant Entity_Id := Entity (N); | |
260 Par : constant Node_Id := Insert_Node; | 260 Par : constant Node_Id := Insert_Node; |
261 | |
261 begin | 262 begin |
262 if Present (Shared_Var_Procs_Instance (Ent)) then | 263 if Present (Shared_Var_Procs_Instance (Ent)) then |
263 if Nkind (Insert_Node) = N_Function_Call then | 264 if Nkind (Insert_Node) = N_Function_Call then |
264 Establish_Transient_Scope (Insert_Node, Sec_Stack => False); | 265 Establish_Transient_Scope (Insert_Node, Manage_Sec_Stack => False); |
266 | |
265 Store_After_Actions_In_Scope (New_List ( | 267 Store_After_Actions_In_Scope (New_List ( |
266 Build_Shared_Var_Proc_Call (Loc, Ent, Name_Write))); | 268 Build_Shared_Var_Proc_Call (Loc, Ent, Name_Write))); |
267 else | 269 else |
268 Insert_After_And_Analyze (Par, | 270 Insert_After_And_Analyze (Par, |
269 Build_Shared_Var_Proc_Call (Loc, Ent, Name_Write)); | 271 Build_Shared_Var_Proc_Call (Loc, Ent, Name_Write)); |