diff options
| author | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-07-06 14:40:07 +0200 |
|---|---|---|
| committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-07-06 14:40:07 +0200 |
| commit | bb072d1c1716ecb6cd99f43a5dbc4855931302d3 (patch) | |
| tree | 620ce7d743d7bff057b8ab91942a5638a830c51b /gcc/ada/sinfo.ads | |
| parent | 937e96763e42c48c29e3a5edf2eea3fb2c59fb27 (diff) | |
| download | gcc-bb072d1c1716ecb6cd99f43a5dbc4855931302d3.zip gcc-bb072d1c1716ecb6cd99f43a5dbc4855931302d3.tar.gz gcc-bb072d1c1716ecb6cd99f43a5dbc4855931302d3.tar.bz2 | |
[multiple changes]
2016-07-06 Hristian Kirtchev <kirtchev@adacore.com>
* exp_aggr.adb Remove with and use clauses for Exp_Ch11 and Inline.
(Initialize_Array_Component): Protect the initialization
statements in an abort defer / undefer block when the associated
component is controlled.
(Initialize_Record_Component): Protect the initialization statements
in an abort defer / undefer block when the associated component is
controlled.
(Process_Transient_Component_Completion): Use Build_Abort_Undefer_Block
to create an abort defer / undefer block.
* exp_ch3.adb Remove with and use clauses for Exp_ch11 and Inline.
(Default_Initialize_Object): Use Build_Abort_Undefer_Block to
create an abort defer / undefer block.
* exp_ch5.adb (Expand_N_Assignment_Statement): Mark an abort
defer / undefer block as such.
* exp_ch9.adb (Find_Enclosing_Context): Do not consider an abort
defer / undefer block as a suitable context for an activation
chain or a master.
* exp_util.adb Add with and use clauses for Exp_Ch11.
(Build_Abort_Undefer_Block): New routine.
* exp_util.ads (Build_Abort_Undefer_Block): New routine.
* sinfo.adb (Is_Abort_Block): New routine.
(Set_Is_Abort_Block): New routine.
* sinfo.ads New attribute Is_Abort_Block along with occurrences
in nodes.
(Is_Abort_Block): New routine along with pragma Inline.
(Set_Is_Abort_Block): New routine along with pragma Inline.
2016-07-06 Justin Squirek <squirek@adacore.com>
* sem_ch4.adb (Analyze_One_Call): Add a conditional to handle
disambiguation.
From-SVN: r238045
Diffstat (limited to 'gcc/ada/sinfo.ads')
| -rw-r--r-- | gcc/ada/sinfo.ads | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads index 29feb25..01d9be5 100644 --- a/gcc/ada/sinfo.ads +++ b/gcc/ada/sinfo.ads @@ -1535,6 +1535,10 @@ package Sinfo is -- to the node for the spec of the instance, inserted as part of the -- semantic processing for instantiations in Sem_Ch12. + -- Is_Abort_Block (Flag4-Sem) + -- Present in N_Block_Statement nodes. True if the block protects a list + -- of statements with an Abort_Defer / Abort_Undefer_Direct pair. + -- Is_Accessibility_Actual (Flag13-Sem) -- Present in N_Parameter_Association nodes. True if the parameter is -- an extra actual that carries the accessibility level of the actual @@ -4937,6 +4941,7 @@ package Sinfo is -- Declarations (List2) (set to No_List if no DECLARE part) -- Handled_Statement_Sequence (Node4) -- Cleanup_Actions (List5-Sem) + -- Is_Abort_Block (Flag4-Sem) -- Is_Task_Master (Flag5-Sem) -- Activation_Chain_Entity (Node3-Sem) -- Has_Created_Identifier (Flag15) @@ -9331,6 +9336,9 @@ package Sinfo is function Intval (N : Node_Id) return Uint; -- Uint3 + function Is_Abort_Block + (N : Node_Id) return Boolean; -- Flag4 + function Is_Accessibility_Actual (N : Node_Id) return Boolean; -- Flag13 @@ -10375,6 +10383,9 @@ package Sinfo is procedure Set_Intval (N : Node_Id; Val : Uint); -- Uint3 + procedure Set_Is_Abort_Block + (N : Node_Id; Val : Boolean := True); -- Flag4 + procedure Set_Is_Accessibility_Actual (N : Node_Id; Val : Boolean := True); -- Flag13 @@ -12819,6 +12830,7 @@ package Sinfo is pragma Inline (Instance_Spec); pragma Inline (Intval); pragma Inline (Iterator_Specification); + pragma Inline (Is_Abort_Block); pragma Inline (Is_Accessibility_Actual); pragma Inline (Is_Analyzed_Pragma); pragma Inline (Is_Asynchronous_Call_Block); @@ -13162,6 +13174,7 @@ package Sinfo is pragma Inline (Set_Interface_List); pragma Inline (Set_Interface_Present); pragma Inline (Set_Intval); + pragma Inline (Set_Is_Abort_Block); pragma Inline (Set_Is_Accessibility_Actual); pragma Inline (Set_Is_Analyzed_Pragma); pragma Inline (Set_Is_Asynchronous_Call_Block); |
