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.ads48
1 files changed, 31 insertions, 17 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index d22f103..c63a97d 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -737,14 +737,6 @@ package Sinfo is
-- section describes the usage of the semantic fields, which are used to
-- contain additional information determined during semantic analysis.
- -- Accept_Handler_Records
- -- This field is present only in an N_Accept_Alternative node. It is used
- -- to temporarily hold the exception handler records from an accept
- -- statement in a selective accept. These exception handlers will
- -- eventually be placed in the Handler_Records list of the procedure
- -- built for this accept (see Expand_N_Selective_Accept procedure in
- -- Exp_Ch9 for further details).
-
-- Access_Types_To_Process
-- Present in N_Freeze_Entity nodes for Incomplete or private types.
-- Contains the list of access types which may require specific treatment
@@ -1515,11 +1507,6 @@ package Sinfo is
-- range is given by the programmer, even if that range is identical to
-- the range for Float.
- -- Incomplete_View
- -- Present in full type declarations that are completions of incomplete
- -- type declarations. Denotes the corresponding incomplete view declared
- -- by the incomplete declaration.
-
-- Inherited_Discriminant
-- This flag is present in N_Component_Association nodes. It indicates
-- that a given component association in an extension aggregate is the
@@ -1701,6 +1688,7 @@ package Sinfo is
-- Pre
-- Pre_Class
-- Precondition
+ -- Program_Exit
-- Refined_Depends
-- Refined_Global
-- Refined_Post
@@ -2324,6 +2312,15 @@ package Sinfo is
-- entity of the original entity, operator, or subprogram being invoked,
-- or the original variable being read or written.
+ -- Call_Or_Target_Loop
+ -- Present in continue statements. Set by Analyze_Continue_Statement and
+ -- used by Expand_Continue_Statement. If Analyze_Continue_Statement
+ -- concluded that its input node was in fact a call to a procedure named
+ -- "Continue", it contains the corresponding N_Procedure_Call_Statement
+ -- node. Otherwise it contains the E_Loop_Id of the loop the continue
+ -- statement applies to. Finally, if Analyze_Continue_Statement detects
+ -- an error, this field is set to Empty.
+
-- Target_Type
-- Used in an N_Validate_Unchecked_Conversion node to point to the target
-- type entity for the unchecked conversion instantiation which gigi must
@@ -5219,6 +5216,23 @@ package Sinfo is
-- Condition (set to Empty if no WHEN part present)
-- Next_Exit_Statement : Next exit on chain
+ ------------------------
+ -- Continue Statement --
+ ------------------------
+
+ -- This is a GNAT extension
+
+ -- CONTINUE_STATEMENT ::= continue [loop_NAME] [when CONDITION];
+
+ -- Gigi restriction: The expander ensures that the type of the Condition
+ -- field is always Standard.Boolean, even if the type in the source is
+ -- some non-standard boolean type.
+
+ -- N_Continue_Statement
+ -- Sloc points to CONTINUE
+ -- Name (set to Empty if no loop name present)
+ -- Condition (set to Empty if no WHEN part present)
+
-------------------------
-- 5.9 Goto Statement --
-------------------------
@@ -6381,7 +6395,6 @@ package Sinfo is
-- Condition from the guard (set to Empty if no guard present)
-- Statements (set to Empty_List if no statements)
-- Pragmas_Before pragmas before alt (set to No_List if none)
- -- Accept_Handler_Records
------------------------------
-- 9.7.1 Delay Alternative --
@@ -7966,8 +7979,9 @@ package Sinfo is
-- operation) are also in this list.
-- Contract_Test_Cases contains a collection of pragmas that correspond
- -- to aspects/pragmas Contract_Cases, Exceptional_Cases, Test_Case and
- -- Subprogram_Variant. The ordering in the list is in LIFO fashion.
+ -- to aspects/pragmas Contract_Cases, Exceptional_Cases, Program_Exit,
+ -- Test_Case and Subprogram_Variant. The ordering in the list is in LIFO
+ -- fashion.
-- Classifications contains pragmas that either declare, categorize, or
-- establish dependencies between subprogram or package inputs and
@@ -8184,7 +8198,7 @@ package Sinfo is
-- An implicit label declaration is created for every occurrence of a
-- label on a statement or a label on a block or loop. It is chained
-- in the declarations of the innermost enclosing block as specified
- -- in RM section 5.1 (3).
+ -- in RM section 5.1 (12).
-- The Defining_Identifier is the actual identifier for the statement
-- identifier. Note that the occurrence of the label is a reference, NOT