aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-07-06 14:40:07 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-07-06 14:40:07 +0200
commitbb072d1c1716ecb6cd99f43a5dbc4855931302d3 (patch)
tree620ce7d743d7bff057b8ab91942a5638a830c51b /gcc/ada/sinfo.ads
parent937e96763e42c48c29e3a5edf2eea3fb2c59fb27 (diff)
downloadgcc-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.ads13
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);