aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads22
1 files changed, 15 insertions, 7 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index a092fdf..2e1ac25 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1770,7 +1770,7 @@ package Sinfo is
-- in interpolated expressions.
-- Is_Known_Guaranteed_ABE
- -- NOTE: this flag is shared between the legacy ABE mechanism and the
+ -- Note: this flag is shared between the legacy ABE mechanism and the
-- default ABE mechanism.
--
-- Present in the following nodes:
@@ -2058,14 +2058,18 @@ package Sinfo is
-- Present in N_Assignment_Statement to indicate that neither Finalize
-- nor Adjust should take place on this assignment even though the LHS
-- and RHS are controlled. Also to indicate that the primitive _assign
- -- should not be used for a tagged assignment. This flag is used in init
- -- proc and aggregate expansion where the generated assignments are
+ -- should not be used for a tagged assignment. This flag is only used
+ -- in initialization procedures, and the expansion of aggregates, object
+ -- declarations and allocators, where the generated assignments are
-- initializations, not real assignments. Note that it also suppresses
-- the creation of transient scopes around the N_Assignment_Statement,
-- in other words it disables all controlled actions for the assignment.
+ -- Additional note: the code generator should avoid creating a temporary
+ -- for the RHS when this flag is set on the N_Assignment_Statement node,
+ -- including when this RHS is a function call.
-- No_Elaboration_Check
- -- NOTE: this flag is relevant only for the legacy ABE mechanism and
+ -- Note: this flag is relevant only for the legacy ABE mechanism and
-- should not be used outside of that context.
--
-- Present in N_Function_Call and N_Procedure_Call_Statement. Indicates
@@ -2086,10 +2090,14 @@ package Sinfo is
-- Present in N_Assignment_Statement to indicate that no Finalize should
-- take place on this assignment even though the LHS is controlled. Also
-- to indicate that the primitive _assign should not be used for a tagged
- -- assignment. This flag is only used in aggregates expansion where the
- -- generated assignments are initializations, not real assignments. Note
- -- that, unlike the No_Ctrl_Actions flag, it does *not* suppress the
+ -- assignment. This flag is only used in initialization procedures, and
+ -- the expansion of aggregates, object declarations and allocators, where
+ -- the generated assignments are initializations, not real assignments.
+ -- Note that, unlike No_Ctrl_Actions, this flag does *not* suppress the
-- creation of transient scopes around the N_Assignment_Statement.
+ -- Additional note: the code generator should avoid creating a temporary
+ -- for the RHS when this flag is set on the N_Assignment_Statement node,
+ -- including when this RHS is a function call.
-- No_Initialization
-- Present in N_Object_Declaration and N_Allocator to indicate that the