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.ads7881
1 files changed, 1280 insertions, 6601 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index f9b0667..20a6125 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2020, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2021, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -23,7 +23,7 @@
-- --
------------------------------------------------------------------------------
--- This package defines the structure of the abstract syntax tree. The Tree
+-- This package documents the structure of the abstract syntax tree. The Atree
-- package provides a basic tree structure. Sinfo describes how this structure
-- is used to represent the syntax of an Ada program.
@@ -37,92 +37,81 @@
-- would normally be regarded as the symbol table information. In addition a
-- number of the tree nodes contain semantic information.
--- WARNING: Several files are automatically generated from this package.
--- See below for details.
+-- See the spec of Gen_IL.Gen for instructions on making changes to this file.
+-- Note that the official definition of what nodes have what fields is in
+-- Gen_IL.Gen.Gen_Nodes; if there is a discrepancy between that and the
+-- comments here, Gen_IL.Gen.Gen_Nodes wins.
+pragma Warnings (Off); -- with/use clauses for children
with Namet; use Namet;
with Types; use Types;
with Uintp; use Uintp;
with Urealp; use Urealp;
+pragma Warnings (On);
package Sinfo is
- ---------------------------------
- -- Making Changes to This File --
- ---------------------------------
-
- -- If changes are made to this file, a number of related steps must be
- -- carried out to ensure consistency. First, if a field access function is
- -- added, it appears in these places:
-
- -- In sinfo.ads:
- -- The documentation associated with the field (if semantic)
- -- The documentation associated with the node
- -- The spec of the access function
- -- The spec of the set procedure
- -- The entries in Is_Syntactic_Field
- -- The pragma Inline for the access function
- -- The pragma Inline for the set procedure
- -- In sinfo.adb:
- -- The body of the access function
- -- The body of the set procedure
-
- -- The field chosen must be consistent in all places, and, for a node that
- -- is a subexpression, must not overlap any of the standard expression
- -- fields.
-
- -- In addition, if any of the standard expression fields is changed, then
- -- the utility program which creates the Treeprs spec (in file treeprs.ads)
- -- must be updated appropriately, since it special cases expression fields.
-
- -- If a new tree node is added, then the following changes are made:
-
- -- Add it to the documentation in the appropriate place
- -- Add its fields to this documentation section
- -- Define it in the appropriate classification in Node_Kind
- -- Add an entry in Is_Syntactic_Field
- -- In the body (sinfo), add entries to the access functions for all
- -- its fields (except standard expression fields) to include the new
- -- node in the checks.
- -- Add an appropriate section to the case statement in sprint.adb
- -- Add an appropriate section to the case statement in sem.adb
- -- Add an appropriate section to the case statement in exp_util.adb
- -- (Insert_Actions procedure)
- -- For a subexpression, add an appropriate section to the case
- -- statement in sem_eval.adb
- -- For a subexpression, add an appropriate section to the case
- -- statement in sem_res.adb
-
- -- All back ends must be made aware of the new node kind.
-
- -- Finally, four utility programs must be run:
-
- -- (Optional.) Run CSinfo to check that you have made the changes
- -- consistently. It checks most of the rules given above. This utility
- -- reads sinfo.ads and sinfo.adb and generates a report to standard
- -- output. This step is optional because XSinfo runs CSinfo.
-
- -- Run XSinfo to create sinfo.h, the corresponding C header. This
- -- utility reads sinfo.ads and generates sinfo.h. Note that it does
- -- not need to read sinfo.adb, since the contents of the body are
- -- algorithmically determinable from the spec.
-
- -- Run XTreeprs to create treeprs.ads, an updated version of the module
- -- that is used to drive the tree print routine. This utility reads (but
- -- does not modify) treeprs.adt, the template that provides the basic
- -- structure of the file, and then fills in the data from the comments
- -- in sinfo.ads.
-
- -- Run XNmake to create nmake.ads and nmake.adb, the package body and
- -- spec of the Nmake package which contains functions for constructing
- -- nodes.
-
- -- The above steps are done automatically by the build scripts when you do
- -- a full bootstrap.
-
- -- Note: sometime we could write a utility that actually generated the body
- -- of sinfo from the spec instead of simply checking it, since, as noted
- -- above, the contents of the body can be determined from the spec.
+ ----------------------------------------
+ -- Definitions of fields in tree node --
+ ----------------------------------------
+
+ -- The following fields are common to all nodes:
+
+ -- Nkind Indicates the kind of the node. This field is present
+ -- in all nodes.
+
+ -- Sloc Location (Source_Ptr) of the corresponding token
+ -- in the Source buffer. The individual node definitions
+ -- show which token is referenced by this pointer.
+
+ -- In_List A flag used to indicate if the node is a member
+ -- of a node list (see package Nlists).
+
+ -- Rewrite_Ins A flag set if a node is marked as a rewrite inserted
+ -- node as a result of a call to Mark_Rewrite_Insertion.
+
+ -- Small_Paren_Count
+ -- A 2-bit count used in subexpression nodes to indicate
+ -- the level of parentheses. The settings are 0,1,2 and
+ -- 3 for many. If the value is 3, then an auxiliary table
+ -- is used to indicate the real value, which is computed by
+ -- Paren_Count. Set to zero for nonsubexpression nodes.
+
+ -- Note: the required parentheses surrounding conditional
+ -- and quantified expressions count as a level of parens
+ -- for this purpose, so e.g. in X := (if A then B else C);
+ -- Paren_Count for the right side will be 1.
+
+ -- Comes_From_Source
+ -- This flag is present in all nodes. It is set if the
+ -- node is built by the scanner or parser, and clear if
+ -- the node is built by the analyzer or expander. It
+ -- indicates that the node corresponds to a construct
+ -- that appears in the original source program.
+
+ -- Analyzed This flag is present in all nodes. It is set when
+ -- a node is analyzed, and is used to avoid analyzing
+ -- the same node twice. Analysis includes expansion if
+ -- expansion is active, so in this case if the flag is
+ -- set it means the node has been analyzed and expanded.
+
+ -- Error_Posted This flag is present in all nodes. It is set when
+ -- an error message is posted which is associated with
+ -- the flagged node. This is used to avoid posting more
+ -- than one message on the same node.
+
+ -- Link For a node, points to the Parent. For a list, points
+ -- to the list header. Note that in the latter case, a
+ -- client cannot modify the link field. This field is
+ -- private to the Atree package (but is also modified
+ -- by the Nlists package).
+
+ -- The following additional fields are common to all entities (that is,
+ -- nodes whose Nkind is in N_Entity):
+
+ -- Ekind Entity type.
+
+ -- Convention Entity convention (Convention_Id value)
--------------------------------
-- Implicit Nodes in the Tree --
@@ -394,33 +383,33 @@ package Sinfo is
-- abbreviations are used:
-- "plus fields for binary operator"
- -- Chars (Name1) Name_Id for the operator
- -- Left_Opnd (Node2) left operand expression
- -- Right_Opnd (Node3) right operand expression
- -- Entity (Node4-Sem) defining entity for operator
- -- Associated_Node (Node4-Sem) for generic processing
- -- Do_Overflow_Check (Flag17-Sem) set if overflow check needed
- -- Has_Private_View (Flag11-Sem) set in generic units.
+ -- Chars Name_Id for the operator
+ -- Left_Opnd left operand expression
+ -- Right_Opnd right operand expression
+ -- Entity defining entity for operator
+ -- Associated_Node for generic processing
+ -- Do_Overflow_Check set if overflow check needed
+ -- Has_Private_View set in generic units.
-- "plus fields for unary operator"
- -- Chars (Name1) Name_Id for the operator
- -- Right_Opnd (Node3) right operand expression
- -- Entity (Node4-Sem) defining entity for operator
- -- Associated_Node (Node4-Sem) for generic processing
- -- Do_Overflow_Check (Flag17-Sem) set if overflow check needed
- -- Has_Private_View (Flag11-Sem) set in generic units.
+ -- Chars Name_Id for the operator
+ -- Right_Opnd right operand expression
+ -- Entity defining entity for operator
+ -- Associated_Node for generic processing
+ -- Do_Overflow_Check set if overflow check needed
+ -- Has_Private_View set in generic units.
-- "plus fields for expression"
- -- Paren_Count number of parentheses levels
- -- Etype (Node5-Sem) type of the expression
- -- Is_Overloaded (Flag5-Sem) >1 type interpretation exists
- -- Is_Static_Expression (Flag6-Sem) set for static expression
- -- Raises_Constraint_Error (Flag7-Sem) evaluation raises CE
- -- Must_Not_Freeze (Flag8-Sem) set if must not freeze
- -- Do_Range_Check (Flag9-Sem) set if a range check needed
- -- Has_Dynamic_Length_Check (Flag10-Sem) set if length check inserted
- -- Assignment_OK (Flag15-Sem) set if modification is OK
- -- Is_Controlling_Actual (Flag16-Sem) set for controlling argument
+ -- Paren_Count number of parentheses levels
+ -- Etype type of the expression
+ -- Is_Overloaded >1 type interpretation exists
+ -- Is_Static_Expression set for static expression
+ -- Raises_Constraint_Error evaluation raises CE
+ -- Must_Not_Freeze set if must not freeze
+ -- Do_Range_Check set if a range check needed
+ -- Has_Dynamic_Length_Check set if length check inserted
+ -- Assignment_OK set if modification is OK
+ -- Is_Controlling_Actual set for controlling argument
-- Note: the utility program that creates the Treeprs spec (in the file
-- xtreeprs.adb) knows about the special fields here, so it must be
@@ -700,11 +689,9 @@ package Sinfo is
-- The following flag fields appear in various nodes:
- -- Do_Accessibility_Check
-- Do_Discriminant_Check
-- Do_Length_Check
-- Do_Storage_Check
- -- Do_Tag_Check
-- These flags are used in some specific cases by the front end, either
-- during semantic analysis or during expansion, and cannot be expected
@@ -792,7 +779,7 @@ 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 (List5-Sem)
+ -- 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
@@ -800,19 +787,19 @@ package Sinfo is
-- built for this accept (see Expand_N_Selective_Accept procedure in
-- Exp_Ch9 for further details).
- -- Access_Types_To_Process (Elist2-Sem)
+ -- 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
-- when the nature of the type completion is completely known. An example
-- of such treatment is the generation of the associated_final_chain.
- -- Actions (List1-Sem)
+ -- Actions
-- This field contains a sequence of actions that are associated with the
-- node holding the field. See the individual node types for details of
-- how this field is used, as well as the description of the specific use
-- for a particular node type.
- -- Activation_Chain_Entity (Node3-Sem)
+ -- Activation_Chain_Entity
-- This is used in tree nodes representing task activators (blocks,
-- subprogram bodies, package declarations, and task bodies). It is
-- initially Empty, and then gets set to point to the entity for the
@@ -826,12 +813,12 @@ package Sinfo is
-- statement, the tasks are moved to the caller's chain, and the caller
-- activates them.
- -- Acts_As_Spec (Flag4-Sem)
+ -- Acts_As_Spec
-- A flag set in the N_Subprogram_Body node for a subprogram body which
-- is acting as its own spec. In the case of a library-level subprogram
-- the flag is set as well on the parent compilation unit node.
- -- Actual_Designated_Subtype (Node4-Sem)
+ -- Actual_Designated_Subtype
-- Present in N_Free_Statement and N_Explicit_Dereference nodes. If gigi
-- needs to known the dynamic constrained subtype of the designated
-- object, this attribute is set to that type. This is done for
@@ -840,38 +827,38 @@ package Sinfo is
-- the designated type is an unconstrained packed array and the
-- dereference is the prefix of a 'Size attribute reference.
- -- Address_Warning_Posted (Flag18-Sem)
+ -- Address_Warning_Posted
-- Present in N_Attribute_Definition nodes. Set to indicate that we have
-- posted a warning for the address clause regarding size or alignment
-- issues. Used to inhibit multiple redundant messages.
- -- Aggregate_Bounds (Node3-Sem)
+ -- Aggregate_Bounds
-- Present in array N_Aggregate nodes. If the bounds of the aggregate are
-- known at compile time, this field points to an N_Range node with those
-- bounds. Otherwise Empty.
- -- Alloc_For_BIP_Return (Flag1-Sem)
+ -- Alloc_For_BIP_Return
-- Present in N_Allocator nodes. True if the allocator is one of those
-- generated for a build-in-place return statement.
- -- All_Others (Flag11-Sem)
+ -- All_Others
-- Present in an N_Others_Choice node. This flag is set for an others
-- exception where all exceptions are to be caught, even those that are
-- not normally handled (in particular the tasking abort signal). This
-- is used for translation of the at end handler into a normal exception
-- handler.
- -- Aspect_On_Partial_View (Flag18)
+ -- Aspect_On_Partial_View
-- Present on an N_Aspect_Specification node. For an aspect that applies
-- to a type entity, indicates whether the specification appears on the
-- partial view of a private type or extension. Undefined for aspects
-- that apply to other entities.
- -- Aspect_Rep_Item (Node2-Sem)
+ -- Aspect_Rep_Item
-- Present in N_Aspect_Specification nodes. Points to the corresponding
-- pragma/attribute definition node used to process the aspect.
- -- Assignment_OK (Flag15-Sem)
+ -- Assignment_OK
-- This flag is set in a subexpression node for an object, indicating
-- that the associated object can be modified, even if this would not
-- normally be permissible (either by direct assignment, or by being
@@ -885,7 +872,7 @@ package Sinfo is
-- a Force_Evaluation call for an unchecked conversion, but this usage
-- is unclear and not documented ???
- -- Associated_Node (Node4-Sem)
+ -- Associated_Node
-- Present in nodes that can denote an entity: identifiers, character
-- literals, operator symbols, expanded names, operator nodes, and
-- attribute reference nodes (all these nodes have an Entity field).
@@ -900,16 +887,16 @@ package Sinfo is
-- Since the back end is expected to ignore generic templates, this is
-- harmless.
- -- Atomic_Sync_Required (Flag14-Sem)
+ -- Atomic_Sync_Required
-- This flag is set on a node for which atomic synchronization is
-- required for the corresponding reference or modification.
- -- At_End_Proc (Node1)
+ -- At_End_Proc
-- This field is present in an N_Handled_Sequence_Of_Statements node.
-- It contains an identifier reference for the cleanup procedure to be
-- called. See description of this node for further details.
- -- Backwards_OK (Flag6-Sem)
+ -- Backwards_OK
-- A flag present in the N_Assignment_Statement node. It is used only
-- if the type being assigned is an array type, and is set if analysis
-- determines that it is definitely safe to do the copy backwards, i.e.
@@ -923,7 +910,7 @@ package Sinfo is
-- cannot figure it out. If both flags Forwards_OK and Backwards_OK are
-- set, it means that the front end can assure no overlap of operands.
- -- Body_To_Inline (Node3-Sem)
+ -- Body_To_Inline
-- Present in subprogram declarations. Denotes analyzed but unexpanded
-- body of subprogram, to be used when inlining calls. Present when the
-- subprogram has an Inline pragma and inlining is enabled. If the
@@ -931,7 +918,7 @@ package Sinfo is
-- is a subprogram, the Body_To_Inline is the name of that entity, which
-- is used directly in later calls to the original subprogram.
- -- Body_Required (Flag13-Sem)
+ -- Body_Required
-- A flag that appears in the N_Compilation_Unit node indicating that
-- the corresponding unit requires a body. For the package case, this
-- indicates that a completion is required. In Ada 95, if the flag is not
@@ -941,17 +928,17 @@ package Sinfo is
-- a pragma Import or Interface applies, in which case no body is
-- permitted (in Ada 83 or Ada 95).
- -- By_Ref (Flag5-Sem)
+ -- By_Ref
-- Present in N_Simple_Return_Statement and N_Extended_Return_Statement,
-- this flag is set when the returned expression is already allocated on
-- the secondary stack and thus the result is passed by reference rather
-- than copied another time.
- -- Cleanup_Actions (List5-Sem)
+ -- Cleanup_Actions
-- Present in block statements created for transient blocks, contains
-- additional cleanup actions carried over from the transient scope.
- -- Check_Address_Alignment (Flag11-Sem)
+ -- Check_Address_Alignment
-- A flag present in N_Attribute_Definition clause for a 'Address
-- attribute definition. This flag is set if a dynamic check should be
-- generated at the freeze point for the entity to which this address
@@ -960,17 +947,17 @@ package Sinfo is
-- attribute definition clause is given, rather than testing this at the
-- freeze point.
- -- Comes_From_Extended_Return_Statement (Flag18-Sem)
+ -- Comes_From_Extended_Return_Statement
-- Present in N_Simple_Return_Statement nodes. True if this node was
-- constructed as part of the N_Extended_Return_Statement expansion.
- -- Compile_Time_Known_Aggregate (Flag18-Sem)
+ -- Compile_Time_Known_Aggregate
-- Present in N_Aggregate nodes. Set for aggregates which can be fully
-- evaluated at compile time without raising constraint error. Such
-- aggregates can be passed as is to the back end without any expansion.
-- See Exp_Aggr for specific conditions under which this flag gets set.
- -- Componentwise_Assignment (Flag14-Sem)
+ -- Componentwise_Assignment
-- Present in N_Assignment_Statement nodes. Set for a record assignment
-- where all that needs doing is to expand it into component-by-component
-- assignments. This is used internally for the case of tagged types with
@@ -980,7 +967,7 @@ package Sinfo is
-- expanding component assignments in this case, we never assign the _tag
-- field, but we recursively assign components of the parent type.
- -- Condition_Actions (List3-Sem)
+ -- Condition_Actions
-- This field appears in else-if nodes and in the iteration scheme node
-- for while loops. This field is only used during semantic processing to
-- temporarily hold actions inserted into the tree. In the tree passed
@@ -989,14 +976,14 @@ package Sinfo is
-- package Exp_Util, and also the expansion routines for the relevant
-- nodes.
- -- Context_Pending (Flag16-Sem)
+ -- Context_Pending
-- This field appears in Compilation_Unit nodes, to indicate that the
-- context of the unit is being compiled. Used to detect circularities
-- that are not otherwise detected by the loading mechanism. Such
-- circularities can occur in the presence of limited and non-limited
-- with_clauses that mention the same units.
- -- Controlling_Argument (Node1-Sem)
+ -- Controlling_Argument
-- This field is set in procedure and function call nodes if the call
-- is a dispatching call (it is Empty for a non-dispatching call). It
-- indicates the source of the call's controlling tag. For procedure
@@ -1007,7 +994,7 @@ package Sinfo is
-- tagged object. The latter is needed by the implementations of AI-239
-- and AI-260.
- -- Conversion_OK (Flag14-Sem)
+ -- Conversion_OK
-- A flag set on type conversion nodes to indicate that the conversion
-- is to be considered as being valid, even though it is the case that
-- the conversion is not valid Ada. This is used for attributes Enum_Rep,
@@ -1019,30 +1006,34 @@ package Sinfo is
-- direct conversion of the underlying integer result, with no regard to
-- the small operand.
- -- Convert_To_Return_False (Flag13-Sem)
+ -- Convert_To_Return_False
-- Present in N_Raise_Expression nodes that appear in the body of the
-- special predicateM function used to test a predicate in the context
-- of a membership test, where raise expression results in returning a
- -- value of False rather than raising an exception.???obsolete flag
+ -- value of False rather than raising an exception.
- -- Corresponding_Aspect (Node3-Sem)
+ -- Corresponding_Aspect
-- Present in N_Pragma node. Used to point back to the source aspect from
-- the corresponding pragma. This field is Empty for source pragmas.
- -- Corresponding_Body (Node5-Sem)
+ -- Corresponding_Body
-- This field is set in subprogram declarations, package declarations,
-- entry declarations of protected types, and in generic units. It points
-- to the defining entity for the corresponding body (NOT the node for
-- the body itself).
- -- Corresponding_Formal_Spec (Node3-Sem)
+ -- Corresponding_Entry_Body
+ -- Defined in N_Subprogram_Body. Set for subprogram bodies that implement
+ -- a protected type entry; points to the body for the entry.
+
+ -- Corresponding_Formal_Spec
-- This field is set in subprogram renaming declarations, where it points
-- to the defining entity for a formal subprogram in the case where the
-- renaming corresponds to a generic formal subprogram association in an
-- instantiation. The field is Empty if the renaming does not correspond
-- to such a formal association.
- -- Corresponding_Generic_Association (Node5-Sem)
+ -- Corresponding_Generic_Association
-- This field is defined for object declarations and object renaming
-- declarations. It is set for the declarations within an instance that
-- map generic formals to their actuals. If set, the field points either
@@ -1050,14 +1041,14 @@ package Sinfo is
-- generic_association which is the original parent of the expression or
-- name appearing in the declaration. This simplifies GNATprove queries.
- -- Corresponding_Integer_Value (Uint4-Sem)
+ -- Corresponding_Integer_Value
-- This field is set in real literals of fixed-point types (it is not
-- used for floating-point types). It contains the integer value used
-- to represent the fixed-point value. It is also set on the universal
-- real literals used to represent bounds of fixed-point base types
-- and their first named subtypes.
- -- Corresponding_Spec (Node5-Sem)
+ -- Corresponding_Spec
-- This field is set in subprogram, package, task, and protected body
-- nodes, where it points to the defining entity in the corresponding
-- spec. The attribute is also set in N_With_Clause nodes where it points
@@ -1069,46 +1060,41 @@ package Sinfo is
-- In Ada 2012, Corresponding_Spec is set on expression functions that
-- complete a subprogram declaration.
- -- Corresponding_Spec_Of_Stub (Node2-Sem)
+ -- Corresponding_Spec_Of_Stub
-- This field is present in subprogram, package, task, and protected body
-- stubs where it points to the corresponding spec of the stub. Due to
-- clashes in the structure of nodes, we cannot use Corresponding_Spec.
- -- Corresponding_Stub (Node3-Sem)
+ -- Corresponding_Stub
-- This field is present in an N_Subunit node. It holds the node in
-- the parent unit that is the stub declaration for the subunit. It is
-- set when analysis of the stub forces loading of the proper body. If
-- expansion of the proper body creates new declarative nodes, they are
-- inserted at the point of the corresponding_stub.
- -- Dcheck_Function (Node5-Sem)
+ -- Dcheck_Function
-- This field is present in an N_Variant node, It references the entity
-- for the discriminant checking function for the variant.
- -- Default_Expression (Node5-Sem)
+ -- Default_Expression
-- This field is Empty if there is no default expression. If there is a
-- simple default expression (one with no side effects), then this field
-- simply contains a copy of the Expression field (both point to the tree
-- for the default expression). Default_Expression is used for
-- conformance checking.
- -- Default_Storage_Pool (Node3-Sem)
+ -- Default_Storage_Pool
-- This field is present in N_Compilation_Unit_Aux nodes. It is set to a
-- copy of Opt.Default_Pool at the end of the compilation unit. See
-- package Opt for details. This is used for inheriting the
-- Default_Storage_Pool in child units.
- -- Discr_Check_Funcs_Built (Flag11-Sem)
+ -- Discr_Check_Funcs_Built
-- This flag is present in N_Full_Type_Declaration nodes. It is set when
-- discriminant checking functions are constructed. The purpose is to
-- avoid attempting to set these functions more than once.
- -- Do_Accessibility_Check (Flag13-Sem)
- -- This flag is set on N_Parameter_Specification nodes to indicate
- -- that an accessibility check is required for the parameter. It is
- -- not yet decided who takes care of this check (TBD ???).
-
- -- Do_Discriminant_Check (Flag3-Sem)
+ -- Do_Discriminant_Check
-- This flag is set on N_Selected_Component nodes to indicate that a
-- discriminant check is required using the discriminant check routine
-- associated with the selector. The actual check is generated by the
@@ -1119,18 +1105,18 @@ package Sinfo is
-- (and set if the assignment requires a discriminant check), and in type
-- conversion nodes (and set if the conversion requires a check).
- -- Do_Division_Check (Flag13-Sem)
+ -- Do_Division_Check
-- This flag is set on a division operator (/ mod rem) to indicate that
-- a zero divide check is required. The actual check is either dealt with
-- by the back end if Backend_Divide_Checks is set to true, or by the
-- front end itself if it is set to false.
- -- Do_Length_Check (Flag4-Sem)
+ -- Do_Length_Check
-- This flag is set in an N_Assignment_Statement, N_Op_And, N_Op_Or,
-- N_Op_Xor, or N_Type_Conversion node to indicate that a length check
-- is required. It is not determined who deals with this flag (???).
- -- Do_Overflow_Check (Flag17-Sem)
+ -- Do_Overflow_Check
-- This flag is set on an operator where an overflow check is required on
-- the operation. The actual check is either dealt with by the back end
-- if Backend_Overflow_Checks is set to true, or by the front end itself
@@ -1143,7 +1129,7 @@ package Sinfo is
-- MINIMIZED or ELIMINATED overflow checking mode (to make sure that we
-- properly process overflow checking for dependent expressions).
- -- Do_Range_Check (Flag9-Sem)
+ -- Do_Range_Check
-- This flag is set on an expression which appears in a context where a
-- range check is required. The target type is clear from the context.
-- The contexts in which this flag can appear are the following:
@@ -1184,7 +1170,7 @@ package Sinfo is
-- listed above (e.g. in a return statement), an additional type
-- conversion node is introduced to represent the required check.
- -- Do_Storage_Check (Flag17-Sem)
+ -- Do_Storage_Check
-- This flag is set in an N_Allocator node to indicate that a storage
-- check is required for the allocation, or in an N_Subprogram_Body node
-- to indicate that a stack check is required in the subprogram prologue.
@@ -1192,32 +1178,25 @@ package Sinfo is
-- to the runtime routine. The N_Subprogram_Body case is handled by the
-- backend, and all the semantics does is set the flag.
- -- Do_Tag_Check (Flag13-Sem)
- -- This flag is set on an N_Assignment_Statement, N_Function_Call,
- -- N_Procedure_Call_Statement, N_Type_Conversion,
- -- N_Simple_Return_Statement, or N_Extended_Return_Statement
- -- node to indicate that the tag check can be suppressed. It is not
- -- yet decided how this flag is used (TBD ???).
-
- -- Elaborate_Present (Flag4-Sem)
+ -- Elaborate_Present
-- This flag is set in the N_With_Clause node to indicate that pragma
-- Elaborate pragma appears for the with'ed units.
- -- Elaborate_All_Desirable (Flag9-Sem)
+ -- Elaborate_All_Desirable
-- This flag is set in the N_With_Clause mode to indicate that the static
-- elaboration processing has determined that an Elaborate_All pragma is
-- desirable for correct elaboration for this unit.
- -- Elaborate_All_Present (Flag14-Sem)
+ -- Elaborate_All_Present
-- This flag is set in the N_With_Clause node to indicate that a
-- pragma Elaborate_All pragma appears for the with'ed units.
- -- Elaborate_Desirable (Flag11-Sem)
+ -- Elaborate_Desirable
-- This flag is set in the N_With_Clause mode to indicate that the static
-- elaboration processing has determined that an Elaborate pragma is
-- desirable for correct elaboration for this unit.
- -- Else_Actions (List3-Sem)
+ -- Else_Actions
-- This field is present in if expression nodes. During code
-- expansion we use the Insert_Actions procedure (in Exp_Util) to insert
-- actions at an appropriate place in the tree to get elaborated at the
@@ -1228,13 +1207,13 @@ package Sinfo is
-- need for this field, so in the tree passed to Gigi, this field is
-- always set to No_List.
- -- Enclosing_Variant (Node2-Sem)
+ -- Enclosing_Variant
-- This field is present in the N_Variant node and identifies the Node_Id
-- corresponding to the immediately enclosing variant when the variant is
-- nested, and N_Empty otherwise. Set during semantic processing of the
-- variant part of a record type.
- -- Entity (Node4-Sem)
+ -- Entity
-- Appears in all direct names (identifiers, character literals, and
-- operator symbols), as well as expanded names, and attributes that
-- denote entities, such as 'Class. Points to entity for corresponding
@@ -1272,12 +1251,12 @@ package Sinfo is
-- aspects must be used to store arbitrary expressions for later semantic
-- checks. See section on aspect specifications for details.
- -- Entity_Or_Associated_Node (Node4-Sem)
+ -- Entity_Or_Associated_Node
-- A synonym for both Entity and Associated_Node. Used by convention in
-- the code when referencing this field in cases where it is not known
-- whether the field contains an Entity or an Associated_Node.
- -- Etype (Node5-Sem)
+ -- Etype
-- Appears in all expression nodes, all direct names, and all entities.
-- Points to the entity for the related type. Set after type resolution.
-- Normally this is the actual subtype of the expression. However, in
@@ -1289,14 +1268,14 @@ package Sinfo is
-- points to an essentially arbitrary choice from the possible set of
-- types.
- -- Exception_Junk (Flag8-Sem)
+ -- Exception_Junk
-- This flag is set in a various nodes appearing in a statement sequence
-- to indicate that the corresponding node is an artifact of the
-- generated code for exception handling, and should be ignored when
-- analyzing the control flow of the relevant sequence of statements
-- (e.g. to check that it does not end with a bad return statement).
- -- Exception_Label (Node5-Sem)
+ -- Exception_Label
-- Appears in N_Push_xxx_Label nodes. Points to the entity of the label
-- to be used for transforming the corresponding exception into a goto,
-- or contains Empty, if this exception is not to be transformed. Also
@@ -1305,7 +1284,7 @@ package Sinfo is
-- to allow a goto is required (and this field contains the label for
-- this goto). See Exp_Ch11.Expand_Local_Exception_Handlers for details.
- -- Expansion_Delayed (Flag11-Sem)
+ -- Expansion_Delayed
-- Set on aggregates and extension aggregates that need a top-down rather
-- than bottom-up expansion. Typically aggregate expansion happens bottom
-- up. For nested aggregates the expansion is delayed until the enclosing
@@ -1313,27 +1292,27 @@ package Sinfo is
-- delay it we set this flag. This is done to avoid creating a temporary
-- for each level of a nested aggregate, and also to prevent the
-- premature generation of constraint checks. This is also a requirement
- -- if we want to generate the proper attachment to the internal????
+ -- if we want to generate the proper attachment to the internal
-- finalization lists (for record with controlled components). Top down
-- expansion of aggregates is also used for in-place array aggregate
-- assignment or initialization. When the full context is known, the
-- target of the assignment or initialization is used to generate the
- -- left-hand side of individual assignment to each sub-component.
+ -- left-hand side of individual assignment to each subcomponent.
- -- Expression_Copy (Node2-Sem)
+ -- Expression_Copy
-- Present in N_Pragma_Argument_Association nodes. Contains a copy of the
-- original expression. This field is best used to store pragma-dependent
-- modifications performed on the original expression such as replacement
-- of the current type instance or substitutions of primitives.
- -- First_Inlined_Subprogram (Node3-Sem)
+ -- First_Inlined_Subprogram
-- Present in the N_Compilation_Unit node for the main program. Points
-- to a chain of entities for subprograms that are to be inlined. The
-- Next_Inlined_Subprogram field of these entities is used as a link
-- pointer with Empty marking the end of the list. This field is Empty
-- if there are no inlined subprograms or inlining is not active.
- -- First_Named_Actual (Node4-Sem)
+ -- First_Named_Actual
-- Present in procedure call statement and function call nodes, and also
-- in Intrinsic nodes. Set during semantic analysis to point to the first
-- named parameter where parameters are ordered by declaration order (as
@@ -1341,7 +1320,7 @@ package Sinfo is
-- named associations). Note: this field points to the explicit actual
-- parameter itself, not the N_Parameter_Association node (its parent).
- -- First_Real_Statement (Node2-Sem)
+ -- First_Real_Statement
-- Present in N_Handled_Sequence_Of_Statements node. Normally set to
-- Empty. Used only when declarations are moved into the statement part
-- of a construct as a result of wrapping an AT END handler that is
@@ -1350,16 +1329,16 @@ package Sinfo is
-- statement, i.e. the statement that used to be first in the statement
-- list before the declarations were prepended.
- -- First_Subtype_Link (Node5-Sem)
+ -- First_Subtype_Link
-- Present in N_Freeze_Entity node for an anonymous base type that is
-- implicitly created by the declaration of a first subtype. It points
-- to the entity for the first subtype.
- -- Float_Truncate (Flag11-Sem)
+ -- Float_Truncate
-- A flag present in type conversion nodes. This is used for float to
-- integer conversions where truncation is required rather than rounding.
- -- Forwards_OK (Flag5-Sem)
+ -- Forwards_OK
-- A flag present in the N_Assignment_Statement node. It is used only
-- if the type being assigned is an array type, and is set if analysis
-- determines that it is definitely safe to do the copy forwards, i.e.
@@ -1373,20 +1352,20 @@ package Sinfo is
-- cannot figure it out. If both flags Forwards_OK and Backwards_OK are
-- set, it means that the front end can assure no overlap of operands.
- -- From_Aspect_Specification (Flag13-Sem)
+ -- From_Aspect_Specification
-- Processing of aspect specifications typically results in insertion in
-- the tree of corresponding pragma or attribute definition clause nodes.
-- These generated nodes have the From_Aspect_Specification flag set to
-- indicate that they came from aspect specifications originally.
- -- From_At_End (Flag4-Sem)
+ -- From_At_End
-- This flag is set on an N_Raise_Statement node if it corresponds to
-- the reraise statement generated as the last statement of an AT END
-- handler when SJLJ exception handling is active. It is used to stop
-- a bogus violation of restriction (No_Exception_Propagation), bogus
-- because if the restriction is set, the reraise is not generated.
- -- From_At_Mod (Flag4-Sem)
+ -- From_At_Mod
-- This flag is set on the attribute definition clause node that is
-- generated by a transformation of an at mod phrase in a record
-- representation clause. This is used to give slightly different (Ada 83
@@ -1396,19 +1375,19 @@ package Sinfo is
-- must be a multiple of the given value, and the representation clause
-- is considered to be type specific instead of subtype specific.
- -- From_Conditional_Expression (Flag1-Sem)
+ -- From_Conditional_Expression
-- This flag is set on if and case statements generated by the expansion
-- of if and case expressions respectively. The flag is used to suppress
-- any finalization of controlled objects found within these statements.
- -- From_Default (Flag6-Sem)
+ -- From_Default
-- This flag is set on the subprogram renaming declaration created in an
-- instance for a formal subprogram, when the formal is declared with a
-- box, and there is no explicit actual. If the flag is present, the
-- declaration is treated as an implicit reference to the formal in the
-- ali file.
- -- Generalized_Indexing (Node4-Sem)
+ -- Generalized_Indexing
-- Present in N_Indexed_Component nodes. Set for Indexed_Component nodes
-- that are Ada 2012 container indexing operations. The value of the
-- attribute is a function call (possibly dereferenced) that corresponds
@@ -1416,12 +1395,12 @@ package Sinfo is
-- expansion, the source node is rewritten as the resolved generalized
-- indexing.
- -- Generic_Parent (Node5-Sem)
+ -- Generic_Parent
-- Generic_Parent is defined on declaration nodes that are instances. The
-- value of Generic_Parent is the generic entity from which the instance
-- is obtained.
- -- Generic_Parent_Type (Node4-Sem)
+ -- Generic_Parent_Type
-- Generic_Parent_Type is defined on Subtype_Declaration nodes for the
-- actuals of formal private and derived types. Within the instance, the
-- operations on the actual are those inherited from the parent. For a
@@ -1429,7 +1408,7 @@ package Sinfo is
-- Generic_Parent_Type is also used in an instance to determine whether a
-- private operation overrides an inherited one.
- -- Handler_List_Entry (Node2-Sem)
+ -- Handler_List_Entry
-- This field is present in N_Object_Declaration nodes. It is set only
-- for the Handler_Record entry generated for an exception in zero cost
-- exception handling mode. It references the corresponding item in the
@@ -1437,26 +1416,26 @@ package Sinfo is
-- handler is deleted during optimization. For further details on why
-- this is required, see Exp_Ch11.Remove_Handler_Entries.
- -- Has_Dereference_Action (Flag13-Sem)
+ -- Has_Dereference_Action
-- This flag is present in N_Explicit_Dereference nodes. It is set to
-- indicate that the expansion has aready produced a call to primitive
-- Dereference of a System.Checked_Pools.Checked_Pool implementation.
-- Such dereference actions are produced for debugging purposes.
- -- Has_Dynamic_Length_Check (Flag10-Sem)
+ -- Has_Dynamic_Length_Check
-- This flag is present in all expression nodes. It is set to indicate
-- that one of the routines in unit Checks has generated a length check
-- action which has been inserted at the flagged node. This is used to
-- avoid the generation of duplicate checks.
- -- Has_Local_Raise (Flag8-Sem)
+ -- Has_Local_Raise
-- Present in exception handler nodes. Set if the handler can be entered
-- via a local raise that gets transformed to a goto statement. This will
-- always be set if Local_Raise_Statements is non-empty, but can also be
-- set as a result of generation of N_Raise_xxx nodes, or flags set in
-- nodes requiring generation of back end checks.
- -- Has_No_Elaboration_Code (Flag17-Sem)
+ -- Has_No_Elaboration_Code
-- A flag that appears in the N_Compilation_Unit node to indicate whether
-- or not elaboration code is present for this unit. It is initially set
-- true for subprogram specs and bodies and for all generic units and
@@ -1467,7 +1446,7 @@ package Sinfo is
-- generate elaboration code, and non-preelaborated packages which do
-- not generate elaboration code.
- -- Has_Pragma_Suppress_All (Flag14-Sem)
+ -- Has_Pragma_Suppress_All
-- This flag is set in an N_Compilation_Unit node if the Suppress_All
-- pragma appears anywhere in the unit. This accommodates the rather
-- strange placement rules of other compilers (DEC permits it at the
@@ -1476,60 +1455,60 @@ package Sinfo is
-- Suppress (All_Checks) appearing at the start of the configuration
-- pragmas for the unit.
- -- Has_Private_View (Flag11-Sem)
+ -- Has_Private_View
-- A flag present in generic nodes that have an entity, to indicate that
-- the node has a private type. Used to exchange private and full
-- declarations if the visibility at instantiation is different from the
-- visibility at generic definition.
- -- Has_Relative_Deadline_Pragma (Flag9-Sem)
+ -- Has_Relative_Deadline_Pragma
-- A flag present in N_Subprogram_Body and N_Task_Definition nodes to
-- flag the presence of a pragma Relative_Deadline.
- -- Has_Self_Reference (Flag13-Sem)
+ -- Has_Self_Reference
-- Present in N_Aggregate and N_Extension_Aggregate. Indicates that one
-- of the expressions contains an access attribute reference to the
-- enclosing type. Such a self-reference can only appear in default-
-- initialized aggregate for a record type.
- -- Has_SP_Choice (Flag15-Sem)
+ -- Has_SP_Choice
-- Present in all nodes containing a Discrete_Choices field (N_Variant,
-- N_Case_Expression_Alternative, N_Case_Statement_Alternative). Set to
-- True if the Discrete_Choices list has at least one occurrence of a
-- statically predicated subtype.
- -- Has_Storage_Size_Pragma (Flag5-Sem)
+ -- Has_Storage_Size_Pragma
-- A flag present in an N_Task_Definition node to flag the presence of a
-- Storage_Size pragma.
- -- Has_Target_Names (Flag8-Sem)
+ -- Has_Target_Names
-- Present in assignment statements. Indicates that the RHS contains
-- target names (see AI12-0125-3) and must be expanded accordingly.
- -- Has_Wide_Character (Flag11-Sem)
+ -- Has_Wide_Character
-- Present in string literals, set if any wide character (i.e. character
-- code outside the Character range but within Wide_Character range)
-- appears in the string. Used to implement pragma preference rules.
- -- Has_Wide_Wide_Character (Flag13-Sem)
+ -- Has_Wide_Wide_Character
-- Present in string literals, set if any wide character (i.e. character
-- code outside the Wide_Character range) appears in the string. Used to
-- implement pragma preference rules.
- -- Header_Size_Added (Flag11-Sem)
+ -- Header_Size_Added
-- Present in N_Attribute_Reference nodes, set only for attribute
-- Max_Size_In_Storage_Elements. The flag indicates that the size of the
-- hidden list header used by the runtime finalization support has been
-- added to the size of the prefix. The flag also prevents the infinite
-- expansion of the same attribute in the said context.
- -- Hidden_By_Use_Clause (Elist5-Sem)
+ -- Hidden_By_Use_Clause
-- An entity list present in use clauses that appear within
-- instantiations. For the resolution of local entities, entities
-- introduced by these use clauses have priority over global ones,
-- and outer entities must be explicitly hidden/restored on exit.
- -- Implicit_With (Flag16-Sem)
+ -- Implicit_With
-- Present in N_With_Clause nodes. The flag indicates that the clause
-- does not comes from source and introduces an implicit dependency on
-- a particular unit. Such implicit with clauses are generated by:
@@ -1546,12 +1525,12 @@ package Sinfo is
-- * RTSfind - The compiler generates code which references entities
-- from the runtime.
- -- Import_Interface_Present (Flag16-Sem)
+ -- Import_Interface_Present
-- This flag is set in an Interface or Import pragma if a matching
-- pragma of the other kind is also present. This is used to avoid
-- generating some unwanted error messages.
- -- Includes_Infinities (Flag11-Sem)
+ -- Includes_Infinities
-- This flag is present in N_Range nodes. It is set for the range of
-- unconstrained float types defined in Standard, which include not only
-- the given range of values, but also legitimately can include infinite
@@ -1559,54 +1538,54 @@ package Sinfo is
-- range is given by the programmer, even if that range is identical to
-- the range for Float.
- -- Incomplete_View (Node2-Sem)
+ -- Incomplete_View
-- Present in full type declarations that are completions of incomplete
-- type declarations. Denotes the corresponding incomplete type
-- declaration. Used to simplify the retrieval of primitive operations
-- that may be declared between the partial and the full view of an
-- untagged type.
- -- Inherited_Discriminant (Flag13-Sem)
+ -- Inherited_Discriminant
-- This flag is present in N_Component_Association nodes. It indicates
-- that a given component association in an extension aggregate is the
-- value obtained from a constraint on an ancestor. Used to prevent
-- double expansion when the aggregate has expansion delayed.
- -- Instance_Spec (Node5-Sem)
+ -- Instance_Spec
-- This field is present in generic instantiation nodes, and also in
-- formal package declaration nodes (formal package declarations are
-- treated in a manner very similar to package instantiations). It points
-- 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)
+ -- Is_Abort_Block
-- 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)
+ -- Is_Accessibility_Actual
-- Present in N_Parameter_Association nodes. True if the parameter is
-- an extra actual that carries the accessibility level of the actual
-- for an access parameter, in a function that dispatches on result and
-- is called in a dispatching context. Used to prevent a formal/actual
-- mismatch when the call is rewritten as a dispatching call.
- -- Is_Analyzed_Pragma (Flag5-Sem)
+ -- Is_Analyzed_Pragma
-- Present in N_Pragma nodes. Set for delayed pragmas that require a two
-- step analysis. The initial step is peformed by routine Analyze_Pragma
-- and verifies the overall legality of the pragma. The second step takes
-- place in the various Analyze_xxx_In_Decl_Part routines which perform
-- full analysis. The flag prevents the reanalysis of a delayed pragma.
- -- Is_Asynchronous_Call_Block (Flag7-Sem)
+ -- Is_Asynchronous_Call_Block
-- A flag set in a Block_Statement node to indicate that it is the
-- expansion of an asynchronous entry call. Such a block needs cleanup
-- handler to assure that the call is cancelled.
- -- Is_Boolean_Aspect (Flag16-Sem)
+ -- Is_Boolean_Aspect
-- Present in N_Aspect_Specification node. Set if the aspect is for a
-- boolean aspect (i.e. Aspect_Id is in Boolean_Aspect subtype).
- -- Is_Checked (Flag11-Sem)
+ -- Is_Checked
-- Present in N_Aspect_Specification and N_Pragma nodes. Set for an
-- assertion aspect or pragma, or check pragma for an assertion, that
-- is to be checked at run time. If either Is_Checked or Is_Ignored
@@ -1615,35 +1594,35 @@ package Sinfo is
-- be further modified (in some cases these flags are copied when a
-- pragma is rewritten).
- -- Is_Checked_Ghost_Pragma (Flag3-Sem)
+ -- Is_Checked_Ghost_Pragma
-- This flag is present in N_Pragma nodes. It is set when the pragma is
-- related to a checked Ghost entity or encloses a checked Ghost entity.
-- This flag has no relation to Is_Checked.
- -- Is_Component_Left_Opnd (Flag13-Sem)
- -- Is_Component_Right_Opnd (Flag14-Sem)
+ -- Is_Component_Left_Opnd
+ -- Is_Component_Right_Opnd
-- Present in concatenation nodes, to indicate that the corresponding
-- operand is of the component type of the result. Used in resolving
-- concatenation nodes in instances.
- -- Is_Controlling_Actual (Flag16-Sem)
+ -- Is_Controlling_Actual
-- This flag is set on an expression that is a controlling argument in
-- a dispatching call. It is off in all other cases. See Sem_Disp for
-- details of its use.
- -- Is_Declaration_Level_Node (Flag5-Sem)
+ -- Is_Declaration_Level_Node
-- Present in call marker and instantiation nodes. Set when the constuct
-- appears within the declarations of a block statement, an entry body,
-- a subprogram body, or a task body. The flag aids the ABE Processing
-- phase to catch certain forms of guaranteed ABEs.
- -- Is_Delayed_Aspect (Flag14-Sem)
+ -- Is_Delayed_Aspect
-- Present in N_Pragma and N_Attribute_Definition_Clause nodes which
-- come from aspect specifications, where the evaluation of the aspect
-- must be delayed to the freeze point. This flag is also set True in
-- the corresponding N_Aspect_Specification node.
- -- Is_Disabled (Flag15-Sem)
+ -- Is_Disabled
-- A flag set in an N_Aspect_Specification or N_Pragma node if there was
-- a Check_Policy or Assertion_Policy (or in the case of a Debug_Pragma)
-- a Debug_Policy pragma that resulted in totally disabling the flagged
@@ -1651,22 +1630,22 @@ package Sinfo is
-- If this flag is set, the aspect or policy is not analyzed for semantic
-- correctness, so any expressions etc will not be marked as analyzed.
- -- Is_Dispatching_Call (Flag6-Sem)
+ -- Is_Dispatching_Call
-- Present in call marker nodes. Set when the related call which prompted
-- the creation of the marker is dispatching.
- -- Is_Dynamic_Coextension (Flag18-Sem)
+ -- Is_Dynamic_Coextension
-- Present in allocator nodes, to indicate that this is an allocator
-- for an access discriminant of a dynamically allocated object. The
-- coextension must be deallocated and finalized at the same time as
-- the enclosing object. The partner flag Is_Static_Coextension must
-- be cleared before setting this flag to True.
- -- Is_Effective_Use_Clause (Flag1-Sem)
+ -- Is_Effective_Use_Clause
-- Present in both N_Use_Type_Clause and N_Use_Package_Clause to indicate
-- a use clause is "used" in the current source.
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
+ -- Is_Elaboration_Checks_OK_Node
-- Present in the following nodes:
--
-- assignment statement
@@ -1687,12 +1666,12 @@ package Sinfo is
-- of run-time ABE checks. This flag detemines whether the ABE Processing
-- phase generates conditional ABE checks and guaranteed ABE failures.
- -- Is_Elaboration_Code (Flag9-Sem)
+ -- Is_Elaboration_Code
-- Present in assignment statements. Set for an assignment which updates
-- the elaboration flag of a package or subprogram when the corresponding
-- body is successfully elaborated.
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
+ -- Is_Elaboration_Warnings_OK_Node
-- Present in the following nodes:
--
-- attribute reference
@@ -1712,27 +1691,27 @@ package Sinfo is
-- are enabled. This flag determines whether the ABE processing phase
-- generates diagnostics on various elaboration issues.
- -- Is_Entry_Barrier_Function (Flag8-Sem)
+ -- Is_Entry_Barrier_Function
-- This flag is set on N_Subprogram_Declaration and N_Subprogram_Body
-- nodes which emulate the barrier function of a protected entry body.
-- The flag is used when checking for incorrect use of Current_Task.
- -- Is_Expanded_Build_In_Place_Call (Flag11-Sem)
+ -- Is_Expanded_Build_In_Place_Call
-- This flag is set in an N_Function_Call node to indicate that the extra
-- actuals to support a build-in-place style of call have been added to
-- the call.
- -- Is_Expanded_Contract (Flag1-Sem)
+ -- Is_Expanded_Contract
-- Present in N_Contract nodes. Set if the contract has already undergone
-- expansion activities.
- -- Is_Finalization_Wrapper (Flag9-Sem)
+ -- Is_Finalization_Wrapper
-- This flag is present in N_Block_Statement nodes. It is set when the
-- block acts as a wrapper of a handled construct which has controlled
-- objects. The wrapper prevents interference between exception handlers
-- and At_End handlers.
- -- Is_Generic_Contract_Pragma (Flag2-Sem)
+ -- Is_Generic_Contract_Pragma
-- This flag is present in N_Pragma nodes. It is set when the pragma is
-- a source construct, applies to a generic unit or its body, and denotes
-- one of the following contract-related annotations:
@@ -1755,12 +1734,12 @@ package Sinfo is
-- Refined_State
-- Test_Case
- -- Is_Homogeneous_Aggregate (Flag14)
- -- A flag set on an Ada 2020 aggregate that uses square brackets as
+ -- Is_Homogeneous_Aggregate
+ -- A flag set on an Ada 2022 aggregate that uses square brackets as
-- delimiters, and thus denotes an array or container aggregate, or
-- the prefix of a reduction attribute.
- -- Is_Ignored (Flag9-Sem)
+ -- Is_Ignored
-- A flag set in an N_Aspect_Specification or N_Pragma node if there was
-- a Check_Policy or Assertion_Policy (or in the case of a Debug_Pragma)
-- a Debug_Policy pragma that specified a policy of IGNORE, DISABLE, or
@@ -1774,29 +1753,29 @@ package Sinfo is
-- aspect/pragma is fully analyzed and checked for other syntactic
-- and semantic errors, but it does not have any semantic effect.
- -- Is_Ignored_Ghost_Pragma (Flag8-Sem)
+ -- Is_Ignored_Ghost_Pragma
-- This flag is present in N_Pragma nodes. It is set when the pragma is
-- related to an ignored Ghost entity or encloses ignored Ghost entity.
-- This flag has no relation to Is_Ignored.
- -- Is_In_Discriminant_Check (Flag11-Sem)
+ -- Is_In_Discriminant_Check
-- This flag is present in a selected component, and is used to indicate
-- that the reference occurs within a discriminant check. The
-- significance is that optimizations based on assuming that the
-- discriminant check has a correct value cannot be performed in this
-- case (or the discriminant check may be optimized away).
- -- Is_Inherited_Pragma (Flag4-Sem)
+ -- Is_Inherited_Pragma
-- This flag is set in an N_Pragma node that appears in a N_Contract node
-- to indicate that the pragma has been inherited from a parent context.
- -- Is_Initialization_Block (Flag1-Sem)
+ -- Is_Initialization_Block
-- Defined in block nodes. Set when the block statement was created by
-- the finalization machinery to wrap initialization statements. This
-- flag aids the ABE Processing phase to suppress the diagnostics of
-- finalization actions in initialization contexts.
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Is_Known_Guaranteed_ABE
-- NOTE: this flag is shared between the legacy ABE mechanism and the
-- default ABE mechanism.
--
@@ -1816,22 +1795,22 @@ package Sinfo is
-- instantiation, as well as to prevent the reexamination of the node by
-- the ABE Processing phase.
- -- Is_Machine_Number (Flag11-Sem)
+ -- Is_Machine_Number
-- This flag is set in an N_Real_Literal node to indicate that the value
-- is a machine number. This avoids some unnecessary cases of converting
-- real literals to machine numbers.
- -- Is_Null_Loop (Flag16-Sem)
+ -- Is_Null_Loop
-- This flag is set in an N_Loop_Statement node if the corresponding loop
-- can be determined to be null at compile time. This is used to remove
-- the loop entirely at expansion time.
- -- Is_Overloaded (Flag5-Sem)
+ -- Is_Overloaded
-- A flag present in all expression nodes. Used temporarily during
-- overloading determination. The setting of this flag is not relevant
-- once overloading analysis is complete.
- -- Is_Power_Of_2_For_Shift (Flag13-Sem)
+ -- Is_Power_Of_2_For_Shift
-- A flag present only in N_Op_Expon nodes. It is set when the
-- exponentiation is of the form 2 ** N, where the type of N is an
-- unsigned integral subtype whose size does not exceed the size of
@@ -1843,37 +1822,37 @@ package Sinfo is
-- conditions holds, and the flag is set, then the division or
-- multiplication can be (and is) converted to a shift.
- -- Is_Preelaborable_Call (Flag7-Sem)
+ -- Is_Preelaborable_Call
-- Present in call marker nodes. Set when the related call is non-static
-- but preelaborable.
- -- Is_Prefixed_Call (Flag17-Sem)
+ -- Is_Prefixed_Call
-- This flag is set in a selected component within a generic unit, if
-- it resolves to a prefixed call to a primitive operation. The flag
-- is used to prevent accidental overloadings in an instance, when a
-- primitive operation and a private record component may be homographs.
- -- Is_Protected_Subprogram_Body (Flag7-Sem)
+ -- Is_Protected_Subprogram_Body
-- A flag set in a Subprogram_Body block to indicate that it is the
-- implementation of a protected subprogram. Such a body needs cleanup
-- handler to make sure that the associated protected object is unlocked
-- when the subprogram completes.
- -- Is_Qualified_Universal_Literal (Flag4-Sem)
+ -- Is_Qualified_Universal_Literal
-- Present in N_Qualified_Expression nodes. Set when the qualification is
-- converting a universal literal to a specific type. Such qualifiers aid
-- the resolution of accidental overloading of binary or unary operators
-- which may occur in instances.
- -- Is_Read (Flag4-Sem)
+ -- Is_Read
-- Present in variable reference markers. Set when the original variable
-- reference constitues a read of the variable.
- -- Is_Source_Call (Flag4-Sem)
+ -- Is_Source_Call
-- Present in call marker nodes. Set when the related call came from
-- source.
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
+ -- Is_SPARK_Mode_On_Node
-- Present in the following nodes:
--
-- assignment statement
@@ -1894,59 +1873,59 @@ package Sinfo is
-- This flag determines when the SPARK model of elaboration be activated
-- by the ABE Processing phase.
- -- Is_Static_Coextension (Flag14-Sem)
+ -- Is_Static_Coextension
-- Present in N_Allocator nodes. Set if the allocator is a coextension
-- of an object allocated on the stack rather than the heap. The partner
-- flag Is_Dynamic_Coextension must be cleared before setting this flag
-- to True.
- -- Is_Static_Expression (Flag6-Sem)
+ -- Is_Static_Expression
-- Indicates that an expression is a static expression according to the
-- rules in RM-4.9. See Sem_Eval for details.
- -- Is_Subprogram_Descriptor (Flag16-Sem)
+ -- Is_Subprogram_Descriptor
-- Present in N_Object_Declaration, and set only for the object
-- declaration generated for a subprogram descriptor in fast exception
-- mode. See Exp_Ch11 for details of use.
- -- Is_Task_Allocation_Block (Flag6-Sem)
+ -- Is_Task_Allocation_Block
-- A flag set in a Block_Statement node to indicate that it is the
-- expansion of a task allocator, or the allocator of an object
-- containing tasks. Such a block requires a cleanup handler to call
-- Expunge_Unactivated_Tasks to complete any tasks that have been
-- allocated but not activated when the allocator completes abnormally.
- -- Is_Task_Body_Procedure (Flag1-Sem)
+ -- Is_Task_Body_Procedure
-- This flag is set on N_Subprogram_Declaration and N_Subprogram_Body
-- nodes which emulate the body of a task unit.
- -- Is_Task_Master (Flag5-Sem)
+ -- Is_Task_Master
-- A flag set in a Subprogram_Body, Block_Statement, or Task_Body node to
-- indicate that the construct is a task master (i.e. has declared tasks
-- or declares an access to a task type).
- -- Is_Write (Flag5-Sem)
+ -- Is_Write
-- Present in variable reference markers. Set when the original variable
-- reference constitues a write of the variable.
- -- Itype (Node1-Sem)
+ -- Itype
-- Used in N_Itype_Reference node to reference an itype for which it is
-- important to ensure that it is defined. See description of this node
-- for further details.
- -- Kill_Range_Check (Flag11-Sem)
+ -- Kill_Range_Check
-- Used in an N_Unchecked_Type_Conversion node to indicate that the
-- result should not be subjected to range checks. This is used for the
-- implementation of Normalize_Scalars.
- -- Label_Construct (Node2-Sem)
+ -- Label_Construct
-- Used in an N_Implicit_Label_Declaration node. Refers to an N_Label,
-- N_Block_Statement or N_Loop_Statement node to which the label
-- declaration applies. The field is left empty for the special labels
-- generated as part of expanding raise statements with a local exception
-- handler.
- -- Library_Unit (Node4-Sem)
+ -- Library_Unit
-- In a stub node, Library_Unit points to the compilation unit node of
-- the corresponding subunit.
--
@@ -1976,7 +1955,7 @@ package Sinfo is
-- described above). Instead for a child unit, implicit with's are
-- generated for all parents.
- -- Local_Raise_Statements (Elist1)
+ -- Local_Raise_Statements
-- This field is present in exception handler nodes. It is set to
-- No_Elist in the normal case. If there is at least one raise statement
-- which can potentially be handled as a local raise, then this field
@@ -1987,12 +1966,12 @@ package Sinfo is
-- N_Raise_xxx_Error nodes since the transformation of these nodes is
-- handled by the back end (using the N_Push/N_Pop mechanism).
- -- Loop_Actions (List5-Sem)
+ -- Loop_Actions
-- A list present in Component_Association nodes in array aggregates.
-- Used to collect actions that must be executed within the loop because
-- they may need to be evaluated anew each time through.
- -- Limited_View_Installed (Flag18-Sem)
+ -- Limited_View_Installed
-- Present in With_Clauses and in package specifications. If set on
-- with_clause, it indicates that this clause has created the current
-- limited view of the designated package. On a package specification, it
@@ -2000,13 +1979,13 @@ package Sinfo is
-- package is mentioned in a limited_with_clause in the closure of the
-- unit being compiled.
- -- Local_Raise_Not_OK (Flag7-Sem)
+ -- Local_Raise_Not_OK
-- Present in N_Exception_Handler nodes. Set if the handler contains
-- a construct (reraise statement, or call to subprogram in package
-- GNAT.Current_Exception) that makes the handler unsuitable as a target
-- for a local raise (one that could otherwise be converted to a goto).
- -- Must_Be_Byte_Aligned (Flag14-Sem)
+ -- Must_Be_Byte_Aligned
-- This flag is present in N_Attribute_Reference nodes. It can be set
-- only for the Address and Unrestricted_Access attributes. If set it
-- means that the object for which the address/access is given must be on
@@ -2019,7 +1998,7 @@ package Sinfo is
-- has more information about type layout and may be able to (but is not
-- guaranteed to) prevent making unnecessary copies.
- -- Must_Not_Freeze (Flag8-Sem)
+ -- Must_Not_Freeze
-- A flag present in all expression nodes. Normally expressions cause
-- freezing as described in the RM. If this flag is set, then this is
-- inhibited. This is used by the analyzer and expander to label nodes
@@ -2028,19 +2007,19 @@ package Sinfo is
-- present in an N_Subtype_Indication node, since we also use these in
-- calls to Freeze_Expression.
- -- Next_Entity (Node2-Sem)
+ -- Next_Entity
-- Present in defining identifiers, defining character literals, and
-- defining operator symbols (i.e. in all entities). The entities of a
-- scope are chained, and this field is used as the forward pointer for
-- this list. See Einfo for further details.
- -- Next_Exit_Statement (Node3-Sem)
+ -- Next_Exit_Statement
-- Present in N_Exit_Statement nodes. The exit statements for a loop are
-- chained (in reverse order of appearance) from the First_Exit_Statement
-- field of the E_Loop entity for the loop. Next_Exit_Statement points to
-- the next entry on this chain (Empty = end of list).
- -- Next_Implicit_With (Node3-Sem)
+ -- Next_Implicit_With
-- Present in N_With_Clause. Part of a chain of with_clauses generated
-- in rtsfind to indicate implicit dependencies on predefined units. Used
-- to prevent multiple with_clauses for the same unit in a given context.
@@ -2050,7 +2029,7 @@ package Sinfo is
-- that any subprogram call is examined after the subprogram declaration
-- has been seen.
- -- Next_Named_Actual (Node4-Sem)
+ -- Next_Named_Actual
-- Present in parameter association nodes. Set during semantic analysis
-- to point to the next named parameter, where parameters are ordered by
-- declaration order (as opposed to the actual order in the call, which
@@ -2058,7 +2037,7 @@ package Sinfo is
-- points to the explicit actual parameter itself, not to the
-- N_Parameter_Association node (its parent).
- -- Next_Pragma (Node1-Sem)
+ -- Next_Pragma
-- Present in N_Pragma nodes. Used to create a linked list of pragma
-- nodes. Currently used for two purposes:
--
@@ -2073,13 +2052,13 @@ package Sinfo is
-- the apply to the same construct. These are visible/private mode for
-- a package spec and declarative/statement mode for package body.
- -- Next_Rep_Item (Node5-Sem)
+ -- Next_Rep_Item
-- Present in pragma nodes, attribute definition nodes, enumeration rep
-- clauses, record rep clauses, aspect specification and null statement
-- nodes. Used to link representation items that apply to an entity. See
-- full description of First_Rep_Item field in Einfo for further details.
- -- Next_Use_Clause (Node3-Sem)
+ -- Next_Use_Clause
-- While use clauses are active during semantic processing, they are
-- chained from the scope stack entry, using Next_Use_Clause as a link
-- pointer, with Empty marking the end of the list. The head pointer is
@@ -2087,7 +2066,7 @@ package Sinfo is
-- processing (i.e. when Gigi sees the tree, the contents of this field
-- is undefined and should not be read).
- -- No_Ctrl_Actions (Flag7-Sem)
+ -- No_Ctrl_Actions
-- Present in N_Assignment_Statement to indicate that no Finalize nor
-- Adjust should take place on this assignment even though the RHS is
-- controlled. Also indicates that the primitive _assign should not be
@@ -2095,7 +2074,7 @@ package Sinfo is
-- expansions where the generated assignments are initializations, not
-- real assignments.
- -- No_Elaboration_Check (Flag4-Sem)
+ -- No_Elaboration_Check
-- NOTE: this flag is relevant only for the legacy ABE mechanism and
-- should not be used outside of that context.
--
@@ -2103,9 +2082,9 @@ package Sinfo is
-- that no elaboration check is needed on the call, because it appears in
-- the context of a local Suppress pragma. This is used on calls within
-- task bodies, where the actual elaboration checks are applied after
- -- analysis, when the local scope stack is not present
+ -- analysis, when the local scope stack is not present.
- -- No_Entities_Ref_In_Spec (Flag8-Sem)
+ -- No_Entities_Ref_In_Spec
-- Present in N_With_Clause nodes. Set if the with clause is on the
-- package or subprogram spec where the main unit is the corresponding
-- body, and no entities of the with'ed unit are referenced by the spec
@@ -2113,7 +2092,7 @@ package Sinfo is
-- to generate the proper message (see Sem_Util.Check_Unused_Withs for
-- full details).
- -- No_Initialization (Flag13-Sem)
+ -- No_Initialization
-- Present in N_Object_Declaration and N_Allocator to indicate that the
-- object must not be initialized (by Initialize or call to an init
-- proc). This is needed for controlled aggregates. When the Object
@@ -2122,18 +2101,18 @@ package Sinfo is
-- with aggregates, and for object with an address clause, which are
-- initialized with an assignment at freeze time).
- -- No_Minimize_Eliminate (Flag17-Sem)
+ -- No_Minimize_Eliminate
-- This flag is present in membership operator nodes (N_In/N_Not_In).
-- It is used to indicate that processing for extended overflow checking
-- modes is not required (this is used to prevent infinite recursion).
- -- No_Side_Effect_Removal (Flag17-Sem)
+ -- No_Side_Effect_Removal
-- Present in N_Function_Call nodes. Set when a function call does not
-- require side effect removal. This attribute suppresses the generation
-- of a temporary to capture the result of the function which eventually
-- replaces the function call.
- -- No_Truncation (Flag17-Sem)
+ -- No_Truncation
-- Present in N_Unchecked_Type_Conversion node. This flag has an effect
-- only if the RM_Size of the source is greater than the RM_Size of the
-- target for scalar operands. Normally in such a case we truncate some
@@ -2145,19 +2124,19 @@ package Sinfo is
-- is used for properly setting out of range values for use by pragmas
-- Initialize_Scalars and Normalize_Scalars.
- -- Null_Excluding_Subtype (Flag16)
+ -- Null_Excluding_Subtype
-- Present in N_Access_To_Object_Definition. Indicates that the subtype
-- indication carries a null-exclusion indicator, which is distinct from
-- the null-exclusion indicator that may precede the access keyword.
- -- Original_Discriminant (Node2-Sem)
+ -- Original_Discriminant
-- Present in identifiers. Used in references to discriminants that
-- appear in generic units. Because the names of the discriminants may be
-- different in an instance, we use this field to recover the position of
-- the discriminant in the original type, and replace it with the
-- discriminant at the same position in the instantiated type.
- -- Original_Entity (Node2-Sem)
+ -- Original_Entity
-- Present in numeric literals. Used to denote the named number that has
-- been constant-folded into the given literal. If literal is from
-- source, or the result of some other constant-folding operation, then
@@ -2166,7 +2145,7 @@ package Sinfo is
-- interferes with the Entity field, making it impossible to preserve the
-- original entity at the point of instantiation.
- -- Others_Discrete_Choices (List1-Sem)
+ -- Others_Discrete_Choices
-- When a case statement or variant is analyzed, the semantic checks
-- determine the actual list of choices that correspond to an others
-- choice. This list is materialized for later use by the expander and
@@ -2175,48 +2154,48 @@ package Sinfo is
-- list of discrete choices, except that of course it cannot contain an
-- N_Others_Choice entry.
- -- Parent_Spec (Node4-Sem)
+ -- Parent_Spec
-- For a library unit that is a child unit spec (package or subprogram
-- declaration, generic declaration or instantiation, or library level
-- rename) this field points to the compilation unit node for the parent
-- package specification. This field is Empty for library bodies (the
-- parent spec in this case can be found from the corresponding spec).
- -- Parent_With (Flag1-Sem)
+ -- Parent_With
-- Present in N_With_Clause nodes. The flag indicates that the clause
-- was generated for an ancestor unit to provide proper visibility. A
-- with clause for child unit A.B.C produces two implicit parent with
-- clauses for A and A.B.
- -- Premature_Use (Node5-Sem)
+ -- Premature_Use
-- Present in N_Incomplete_Type_Declaration node. Used for improved
-- error diagnostics: if there is a premature usage of an incomplete
-- type, a subsequently generated error message indicates the position
-- of its full declaration.
- -- Present_Expr (Uint3-Sem)
+ -- Present_Expr
-- Present in an N_Variant node. This has a meaningful value only after
-- Gigi has back annotated the tree with representation information. At
-- this point, it contains a reference to a gcc expression that depends
- -- on the values of one or more discriminants. Give a set of discriminant
- -- values, this expression evaluates to False (zero) if variant is not
- -- present, and True (non-zero) if it is present. See unit Repinfo for
- -- further details on gigi back annotation. This field is used during
- -- back-annotation processing (for -gnatR -gnatc) to determine if a field
- -- is present or not.
-
- -- Prev_Use_Clause (Node1-Sem)
+ -- on the values of one or more discriminants. Given a set of
+ -- discriminant values, this expression evaluates to False (zero) if
+ -- variant is not present, and True (non-zero) if it is present. See
+ -- unit Repinfo for further details on gigi back annotation. This field
+ -- is used during back-annotation processing (for -gnatR -gnatc) to
+ -- determine if a field is present or not.
+
+ -- Prev_Use_Clause
-- Present in both N_Use_Package_Clause and N_Use_Type_Clause. Used in
-- detection of ineffective use clauses by allowing a chain of related
-- clauses together to avoid traversing the current scope stack.
- -- Print_In_Hex (Flag13-Sem)
+ -- Print_In_Hex
-- Set on an N_Integer_Literal node to indicate that the value should be
-- printed in hexadecimal in the sprint listing. Has no effect on
-- legality or semantics of program, only on the displayed output. This
-- is used to clarify output from the packed array cases.
- -- Procedure_To_Call (Node2-Sem)
+ -- Procedure_To_Call
-- Present in N_Allocator, N_Free_Statement, N_Simple_Return_Statement,
-- and N_Extended_Return_Statement nodes. References the entity for the
-- declaration of the procedure to be called to accomplish the required
@@ -2225,17 +2204,17 @@ package Sinfo is
-- allocating the return value), and for the Deallocate procedure in the
-- case of N_Free_Statement.
- -- Raises_Constraint_Error (Flag7-Sem)
+ -- Raises_Constraint_Error
-- Set on an expression whose evaluation will definitely fail constraint
-- error check. See Sem_Eval for details.
- -- Redundant_Use (Flag13-Sem)
+ -- Redundant_Use
-- Present in nodes that can appear as an operand in a use clause or use
-- type clause (identifiers, expanded names, attribute references). Set
-- to indicate that a use is redundant (and therefore need not be undone
-- on scope exit).
- -- Renaming_Exception (Node2-Sem)
+ -- Renaming_Exception
-- Present in N_Exception_Declaration node. Used to point back to the
-- exception renaming for an exception declared within a subprogram.
-- What happens is that an exception declared in a subprogram is moved
@@ -2243,18 +2222,18 @@ package Sinfo is
-- becomes a renaming. This link from the library level exception to the
-- renaming declaration allows registering of the proper exception name.
- -- Return_Statement_Entity (Node5-Sem)
+ -- Return_Statement_Entity
-- Present in N_Simple_Return_Statement and N_Extended_Return_Statement.
-- Points to an E_Return_Statement representing the return statement.
- -- Return_Object_Declarations (List3)
+ -- Return_Object_Declarations
-- Present in N_Extended_Return_Statement. Points to a list initially
-- containing a single N_Object_Declaration representing the return
-- object. We use a list (instead of just a pointer to the object decl)
-- because Analyze wants to insert extra actions on this list, before the
-- N_Object_Declaration, which always remains last on the list.
- -- Rounded_Result (Flag18-Sem)
+ -- Rounded_Result
-- Present in N_Type_Conversion, N_Op_Divide, and N_Op_Multiply nodes.
-- Used in the fixed-point cases to indicate that the result must be
-- rounded as a result of the use of the 'Round attribute. Also used for
@@ -2264,19 +2243,19 @@ package Sinfo is
-- are the result of expansion of rounded fixed-point divide, conversion
-- and multiplication operations.
- -- Save_Invocation_Graph_Of_Body (Flag1-Sem)
+ -- Save_Invocation_Graph_Of_Body
-- Present in compilation unit nodes. Set when the elaboration mechanism
-- must record all invocation constructs and invocation relations within
-- the body of the compilation unit.
--
- -- SCIL_Entity (Node4-Sem)
+ -- SCIL_Entity
-- Present in SCIL nodes. References the specific tagged type associated
-- with the SCIL node (for an N_SCIL_Dispatching_Call node, this is
-- the controlling type of the call; for an N_SCIL_Membership_Test node
-- generated as part of testing membership in T'Class, this is T; for an
-- N_SCIL_Dispatch_Table_Tag_Init node, this is the type being declared).
- -- SCIL_Controlling_Tag (Node5-Sem)
+ -- SCIL_Controlling_Tag
-- Present in N_SCIL_Dispatching_Call nodes. References the controlling
-- tag of a dispatching call. This is usually an N_Selected_Component
-- node (for a _tag component), but may be an N_Object_Declaration or
@@ -2284,33 +2263,33 @@ package Sinfo is
-- a classwide streaming operation or a call to an instance of
-- Ada.Tags.Generic_Dispatching_Constructor).
- -- SCIL_Tag_Value (Node5-Sem)
+ -- SCIL_Tag_Value
-- Present in N_SCIL_Membership_Test nodes. Used to reference the tag
-- of the value that is being tested.
- -- SCIL_Target_Prim (Node2-Sem)
+ -- SCIL_Target_Prim
-- Present in N_SCIL_Dispatching_Call nodes. References the primitive
-- operation named (statically) in a dispatching call.
- -- Scope (Node3-Sem)
+ -- Scope
-- Present in defining identifiers, defining character literals, and
-- defining operator symbols (i.e. in all entities). The entities of a
-- scope all use this field to reference the corresponding scope entity.
-- See Einfo for further details.
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- A flag present in shift nodes to indicate that the shift count is
-- known to be in range, i.e. is in the range from zero to word length
-- minus one. If this flag is not set, then the shift count may be
-- outside this range, i.e. larger than the word length, and the code
-- must ensure that such shift counts give the appropriate result.
- -- Source_Type (Node1-Sem)
+ -- Source_Type
-- Used in an N_Validate_Unchecked_Conversion node to point to the
-- source type entity for the unchecked conversion instantiation
-- which gigi must do size validation for.
- -- Split_PPC (Flag17)
+ -- Split_PPC
-- When a Pre or Post aspect specification is processed, it is broken
-- into AND THEN sections. The leftmost section has Split_PPC set to
-- False, indicating that it is the original specification (e.g. for
@@ -2318,7 +2297,7 @@ package Sinfo is
-- This flag is set in both the N_Aspect_Specification node itself,
-- and in the pragma which is generated from this node.
- -- Storage_Pool (Node1-Sem)
+ -- Storage_Pool
-- Present in N_Allocator, N_Free_Statement, N_Simple_Return_Statement,
-- and N_Extended_Return_Statement nodes. References the entity for the
-- storage pool to be used for the allocate or free call or for the
@@ -2328,7 +2307,7 @@ package Sinfo is
-- value of a type whose size is not known at compile time on the
-- secondary stack.
- -- Suppress_Assignment_Checks (Flag18-Sem)
+ -- Suppress_Assignment_Checks
-- Used in generated N_Assignment_Statement nodes to suppress predicate
-- and range checks in cases where the generated code knows that the
-- value being assigned is in range and satisfies any predicate. Also
@@ -2337,23 +2316,23 @@ package Sinfo is
-- suppresses access checks in the generated code for out- and in-out
-- parameters in entry calls.
- -- Suppress_Loop_Warnings (Flag17-Sem)
+ -- Suppress_Loop_Warnings
-- Used in N_Loop_Statement node to indicate that warnings within the
-- body of the loop should be suppressed. This is set when the range
-- of a FOR loop is known to be null, or is probably null (loop would
-- only execute if invalid values are present).
- -- Target (Node1-Sem)
+ -- Target
-- Present in call and variable reference marker nodes. References the
-- entity of the original entity, operator, or subprogram being invoked,
-- or the original variable being read or written.
- -- Target_Type (Node2-Sem)
+ -- 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
-- do size validation for.
- -- Then_Actions (List3-Sem)
+ -- Then_Actions
-- This field is present in if expression nodes. During code expansion
-- we use the Insert_Actions procedure (in Exp_Util) to insert actions
-- at an appropriate place in the tree to get elaborated at the right
@@ -2364,7 +2343,7 @@ package Sinfo is
-- need for this field, so in the tree passed to Gigi, this field is
-- always set to No_List.
- -- TSS_Elist (Elist3-Sem)
+ -- TSS_Elist
-- Present in N_Freeze_Entity nodes. Holds an element list containing
-- entries for each TSS (type support subprogram) associated with the
-- frozen type. The elements of the list are the entities for the
@@ -2372,57 +2351,52 @@ package Sinfo is
-- if there are no type support subprograms for the type or if the freeze
-- node is not for a type.
- -- Uneval_Old_Accept (Flag7-Sem)
+ -- Uneval_Old_Accept
-- Present in N_Pragma nodes. Set True if Opt.Uneval_Old is set to 'A'
-- (accept) at the point where the pragma is encountered (including the
-- case of a pragma generated from an aspect specification). It is this
-- setting that is relevant, rather than the setting at the point where
-- a contract is finally analyzed after the delay till the freeze point.
- -- Uneval_Old_Warn (Flag18-Sem)
+ -- Uneval_Old_Warn
-- Present in N_Pragma nodes. Set True if Opt.Uneval_Old is set to 'W'
-- (warn) at the point where the pragma is encountered (including the
-- case of a pragma generated from an aspect specification). It is this
-- setting that is relevant, rather than the setting at the point where
-- a contract is finally analyzed after the delay till the freeze point.
- -- Unreferenced_In_Spec (Flag7-Sem)
+ -- Unreferenced_In_Spec
-- Present in N_With_Clause nodes. Set if the with clause is on the
-- package or subprogram spec where the main unit is the corresponding
-- body, and is not referenced by the spec (it may still be referenced by
-- the body, so this flag is used to generate the proper message (see
-- Sem_Util.Check_Unused_Withs for details)
- -- Uninitialized_Variable (Node3-Sem)
+ -- Uninitialized_Variable
-- Present in N_Formal_Private_Type_Definition and in N_Private_
-- Extension_Declarations. Indicates that a variable in a generic unit
-- whose type is a formal private or derived type is read without being
-- initialized. Used to warn if the corresponding actual type is not
-- a fully initialized type.
- -- Used_Operations (Elist2-Sem)
+ -- Used_Operations
-- Present in N_Use_Type_Clause nodes. Holds the list of operations that
-- are made potentially use-visible by the clause. Simplifies processing
-- on exit from the scope of the use_type_clause, in particular in the
-- case of Use_All_Type, when those operations several scopes.
- -- Was_Attribute_Reference (Flag2-Sem)
+ -- Was_Attribute_Reference
-- Present in N_Subprogram_Body. Set to True if the original source is an
-- attribute reference which is an actual in a generic instantiation. The
-- instantiation prologue renames these attributes, and expansion later
-- converts them into subprogram bodies.
- -- Was_Default_Init_Box_Association (Flag14-Sem)
- -- Present in N_Component_Association. Set to True if the original source
- -- is an aggregate component association with a box (<>) for a component
- -- that is initialized by default.
-
- -- Was_Expression_Function (Flag18-Sem)
+ -- Was_Expression_Function
-- Present in N_Subprogram_Body. True if the original source had an
-- N_Expression_Function, which was converted to the N_Subprogram_Body
-- by Analyze_Expression_Function.
- -- Was_Originally_Stub (Flag13-Sem)
+ -- Was_Originally_Stub
-- This flag is set in the node for a proper body that replaces stub.
-- During the analysis procedure, stubs in some situations get rewritten
-- by the corresponding bodies, and we set this flag to remember that
@@ -2529,16 +2503,16 @@ package Sinfo is
-- N_Identifier
-- Sloc points to identifier
- -- Chars (Name1) contains the Name_Id for the identifier
- -- Entity (Node4-Sem)
- -- Associated_Node (Node4-Sem)
- -- Original_Discriminant (Node2-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Has_Private_View (Flag11-Sem) (set in generic units)
- -- Redundant_Use (Flag13-Sem)
- -- Atomic_Sync_Required (Flag14-Sem)
+ -- Chars contains the Name_Id for the identifier
+ -- Entity
+ -- Associated_Node
+ -- Original_Discriminant
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Has_Private_View (set in generic units)
+ -- Redundant_Use
+ -- Atomic_Sync_Required
-- plus fields for expression
--------------------------
@@ -2575,19 +2549,19 @@ package Sinfo is
-- N_Integer_Literal
-- Sloc points to literal
- -- Original_Entity (Node2-Sem) If not Empty, holds Named_Number that
+ -- Original_Entity If not Empty, holds Named_Number that
-- has been constant-folded into its literal value.
- -- Intval (Uint3) contains integer value of literal
- -- Print_In_Hex (Flag13-Sem)
+ -- Intval contains integer value of literal
+ -- Print_In_Hex
-- plus fields for expression
-- N_Real_Literal
-- Sloc points to literal
- -- Original_Entity (Node2-Sem) If not Empty, holds Named_Number that
+ -- Original_Entity If not Empty, holds Named_Number that
-- has been constant-folded into its literal value.
- -- Realval (Ureal3) contains real value of literal
- -- Corresponding_Integer_Value (Uint4-Sem)
- -- Is_Machine_Number (Flag11-Sem)
+ -- Realval contains real value of literal
+ -- Corresponding_Integer_Value
+ -- Is_Machine_Number
-- plus fields for expression
--------------------------
@@ -2615,11 +2589,11 @@ package Sinfo is
-- N_Character_Literal
-- Sloc points to literal
- -- Chars (Name1) contains the Name_Id for the identifier
- -- Char_Literal_Value (Uint2) contains the literal value
- -- Entity (Node4-Sem)
- -- Associated_Node (Node4-Sem)
- -- Has_Private_View (Flag11-Sem) set in generic units.
+ -- Chars contains the Name_Id for the identifier
+ -- Char_Literal_Value contains the literal value
+ -- Entity
+ -- Associated_Node
+ -- Has_Private_View (set in generic units)
-- plus fields for expression
-- Note: the Entity field will be missing (set to Empty) for character
@@ -2647,10 +2621,10 @@ package Sinfo is
-- N_String_Literal
-- Sloc points to literal
- -- Strval (Str3) contains Id of string value
- -- Has_Wide_Character (Flag11-Sem)
- -- Has_Wide_Wide_Character (Flag13-Sem)
- -- Is_Folded_In_Parser (Flag4)
+ -- Strval contains Id of string value
+ -- Has_Wide_Character
+ -- Has_Wide_Wide_Character
+ -- Is_Folded_In_Parser
-- plus fields for expression
------------------
@@ -2678,26 +2652,26 @@ package Sinfo is
-- N_Pragma
-- Sloc points to PRAGMA
- -- Next_Pragma (Node1-Sem)
- -- Pragma_Argument_Associations (List2) (set to No_List if none)
- -- Corresponding_Aspect (Node3-Sem) (set to Empty if not present)
- -- Pragma_Identifier (Node4)
- -- Next_Rep_Item (Node5-Sem)
- -- Is_Generic_Contract_Pragma (Flag2-Sem)
- -- Is_Checked_Ghost_Pragma (Flag3-Sem)
- -- Is_Inherited_Pragma (Flag4-Sem)
- -- Is_Analyzed_Pragma (Flag5-Sem)
- -- Class_Present (Flag6) set if from Aspect with 'Class
- -- Uneval_Old_Accept (Flag7-Sem)
- -- Is_Ignored_Ghost_Pragma (Flag8-Sem)
- -- Is_Ignored (Flag9-Sem)
- -- Is_Checked (Flag11-Sem)
- -- From_Aspect_Specification (Flag13-Sem)
- -- Is_Delayed_Aspect (Flag14-Sem)
- -- Is_Disabled (Flag15-Sem)
- -- Import_Interface_Present (Flag16-Sem)
- -- Split_PPC (Flag17) set if corresponding aspect had Split_PPC set
- -- Uneval_Old_Warn (Flag18-Sem)
+ -- Next_Pragma
+ -- Pragma_Argument_Associations (set to No_List if none)
+ -- Corresponding_Aspect (set to Empty if not present)
+ -- Pragma_Identifier
+ -- Next_Rep_Item
+ -- Is_Generic_Contract_Pragma
+ -- Is_Checked_Ghost_Pragma
+ -- Is_Inherited_Pragma
+ -- Is_Analyzed_Pragma
+ -- Class_Present set if from Aspect with 'Class
+ -- Uneval_Old_Accept
+ -- Is_Ignored_Ghost_Pragma
+ -- Is_Ignored
+ -- Is_Checked
+ -- From_Aspect_Specification
+ -- Is_Delayed_Aspect
+ -- Is_Disabled
+ -- Import_Interface_Present
+ -- Split_PPC set if corresponding aspect had Split_PPC set
+ -- Uneval_Old_Warn
-- Note: we should have a section on what pragmas are passed on to
-- the back end to be processed. This section should note that pragma
@@ -2746,9 +2720,9 @@ package Sinfo is
-- N_Pragma_Argument_Association
-- Sloc points to first token in association
- -- Chars (Name1) (set to No_Name if no pragma argument identifier)
- -- Expression_Copy (Node2-Sem)
- -- Expression (Node3)
+ -- Chars (set to No_Name if no pragma argument identifier)
+ -- Expression_Copy
+ -- Expression
------------------------
-- 2.9 Reserved Word --
@@ -2794,10 +2768,10 @@ package Sinfo is
-- N_Defining_Identifier
-- Sloc points to identifier
- -- Chars (Name1) contains the Name_Id for the identifier
- -- Next_Entity (Node2-Sem)
- -- Scope (Node3-Sem)
- -- Etype (Node5-Sem)
+ -- Chars contains the Name_Id for the identifier
+ -- Next_Entity
+ -- Scope
+ -- Etype
-----------------------------
-- 3.2.1 Type Declaration --
@@ -2826,11 +2800,11 @@ package Sinfo is
-- N_Full_Type_Declaration
-- Sloc points to TYPE
- -- Defining_Identifier (Node1)
- -- Incomplete_View (Node2-Sem)
- -- Discriminant_Specifications (List4) (set to No_List if none)
- -- Type_Definition (Node3)
- -- Discr_Check_Funcs_Built (Flag11-Sem)
+ -- Defining_Identifier
+ -- Incomplete_View
+ -- Discriminant_Specifications (set to No_List if none)
+ -- Type_Definition
+ -- Discr_Check_Funcs_Built
----------------------------
-- 3.2.1 Type Definition --
@@ -2855,11 +2829,11 @@ package Sinfo is
-- N_Subtype_Declaration
-- Sloc points to SUBTYPE
- -- Defining_Identifier (Node1)
- -- Null_Exclusion_Present (Flag11)
- -- Subtype_Indication (Node5)
- -- Generic_Parent_Type (Node4-Sem) (set for an actual derived type).
- -- Exception_Junk (Flag8-Sem)
+ -- Defining_Identifier
+ -- Null_Exclusion_Present
+ -- Subtype_Indication
+ -- Generic_Parent_Type (set for an actual derived type).
+ -- Exception_Junk
-------------------------------
-- 3.2.2 Subtype Indication --
@@ -2881,10 +2855,10 @@ package Sinfo is
-- N_Subtype_Indication
-- Sloc points to first token of subtype mark
- -- Subtype_Mark (Node4)
- -- Constraint (Node3)
- -- Etype (Node5-Sem)
- -- Must_Not_Freeze (Flag8-Sem)
+ -- Subtype_Mark
+ -- Constraint
+ -- Etype
+ -- Must_Not_Freeze
-- Note: Depending on context, the Etype is either the entity of the
-- Subtype_Mark field, or it is an itype constructed to reify the
@@ -2980,22 +2954,22 @@ package Sinfo is
-- N_Object_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Aliased_Present (Flag4)
- -- Constant_Present (Flag17) set if CONSTANT appears
- -- Null_Exclusion_Present (Flag11)
- -- Object_Definition (Node4) subtype indic./array type def./access def.
- -- Expression (Node3) (set to Empty if not present)
- -- Handler_List_Entry (Node2-Sem)
- -- Corresponding_Generic_Association (Node5-Sem)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
- -- No_Initialization (Flag13-Sem)
- -- Assignment_OK (Flag15-Sem)
- -- Exception_Junk (Flag8-Sem)
- -- Is_Subprogram_Descriptor (Flag16-Sem)
- -- Has_Init_Expression (Flag14)
- -- Suppress_Assignment_Checks (Flag18-Sem)
+ -- Defining_Identifier
+ -- Aliased_Present
+ -- Constant_Present set if CONSTANT appears
+ -- Null_Exclusion_Present
+ -- Object_Definition subtype indic./array type def./access def.
+ -- Expression (set to Empty if not present)
+ -- Handler_List_Entry
+ -- Corresponding_Generic_Association
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
+ -- No_Initialization
+ -- Assignment_OK
+ -- Exception_Junk
+ -- Is_Subprogram_Descriptor
+ -- Has_Init_Expression
+ -- Suppress_Assignment_Checks
-------------------------------------
-- 3.3.1 Defining Identifier List --
@@ -3021,10 +2995,10 @@ package Sinfo is
-- N_Number_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Expression (Node3)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Defining_Identifier
+ -- Expression
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
----------------------------------
-- 3.4 Derived Type Definition --
@@ -3041,16 +3015,16 @@ package Sinfo is
-- N_Derived_Type_Definition
-- Sloc points to NEW
- -- Abstract_Present (Flag4)
- -- Null_Exclusion_Present (Flag11) (set to False if not present)
- -- Subtype_Indication (Node5)
- -- Record_Extension_Part (Node3) (set to Empty if not present)
- -- Limited_Present (Flag17)
- -- Task_Present (Flag5) set in task interfaces
- -- Protected_Present (Flag6) set in protected interfaces
- -- Synchronized_Present (Flag7) set in interfaces
- -- Interface_List (List2) (set to No_List if none)
- -- Interface_Present (Flag16) set in abstract interfaces
+ -- Abstract_Present
+ -- Null_Exclusion_Present (set to False if not present)
+ -- Subtype_Indication
+ -- Record_Extension_Part (set to Empty if not present)
+ -- Limited_Present
+ -- Task_Present set in task interfaces
+ -- Protected_Present set in protected interfaces
+ -- Synchronized_Present set in interfaces
+ -- Interface_List (set to No_List if none)
+ -- Interface_Present set in abstract interfaces
-- Note: Task_Present, Protected_Present, Synchronized_Present,
-- Interface_List, and Interface_Present are used for abstract
@@ -3064,7 +3038,7 @@ package Sinfo is
-- N_Range_Constraint
-- Sloc points to RANGE
- -- Range_Expression (Node4)
+ -- Range_Expression
----------------
-- 3.5 Range --
@@ -3087,9 +3061,9 @@ package Sinfo is
-- N_Range
-- Sloc points to ..
- -- Low_Bound (Node1)
- -- High_Bound (Node2)
- -- Includes_Infinities (Flag11)
+ -- Low_Bound
+ -- High_Bound
+ -- Includes_Infinities
-- plus fields for expression
-- Note: if the range appears in a context, such as a subtype
@@ -3111,8 +3085,8 @@ package Sinfo is
-- N_Enumeration_Type_Definition
-- Sloc points to left parenthesis
- -- Literals (List1) (Empty for CHARACTER or WIDE_CHARACTER)
- -- End_Label (Node4) (set to Empty if internally generated record)
+ -- Literals (Empty for CHARACTER or WIDE_CHARACTER)
+ -- End_Label (set to Empty if internally generated record)
----------------------------------------------
-- 3.5.1 Enumeration Literal Specification --
@@ -3140,10 +3114,10 @@ package Sinfo is
-- N_Defining_Character_Literal
-- Sloc points to literal
- -- Chars (Name1) contains the Name_Id for the identifier
- -- Next_Entity (Node2-Sem)
- -- Scope (Node3-Sem)
- -- Etype (Node5-Sem)
+ -- Chars contains the Name_Id for the identifier
+ -- Next_Entity
+ -- Scope
+ -- Etype
------------------------------------
-- 3.5.4 Integer Type Definition --
@@ -3168,8 +3142,8 @@ package Sinfo is
-- N_Signed_Integer_Type_Definition
-- Sloc points to RANGE
- -- Low_Bound (Node1)
- -- High_Bound (Node2)
+ -- Low_Bound
+ -- High_Bound
------------------------------------
-- 3.5.4 Modular Type Definition --
@@ -3179,7 +3153,7 @@ package Sinfo is
-- N_Modular_Type_Definition
-- Sloc points to MOD
- -- Expression (Node3)
+ -- Expression
---------------------------------
-- 3.5.6 Real Type Definition --
@@ -3200,8 +3174,8 @@ package Sinfo is
-- N_Floating_Point_Definition
-- Sloc points to DIGITS
- -- Digits_Expression (Node2)
- -- Real_Range_Specification (Node4) (set to Empty if not present)
+ -- Digits_Expression
+ -- Real_Range_Specification (set to Empty if not present)
-------------------------------------
-- 3.5.7 Real Range Specification --
@@ -3212,8 +3186,8 @@ package Sinfo is
-- N_Real_Range_Specification
-- Sloc points to RANGE
- -- Low_Bound (Node1)
- -- High_Bound (Node2)
+ -- Low_Bound
+ -- High_Bound
-----------------------------------
-- 3.5.9 Fixed Point Definition --
@@ -3233,8 +3207,8 @@ package Sinfo is
-- N_Ordinary_Fixed_Point_Definition
-- Sloc points to DELTA
- -- Delta_Expression (Node3)
- -- Real_Range_Specification (Node4)
+ -- Delta_Expression
+ -- Real_Range_Specification
-------------------------------------------
-- 3.5.9 Decimal Fixed Point Definition --
@@ -3248,9 +3222,9 @@ package Sinfo is
-- N_Decimal_Fixed_Point_Definition
-- Sloc points to DELTA
- -- Delta_Expression (Node3)
- -- Digits_Expression (Node2)
- -- Real_Range_Specification (Node4) (set to Empty if not present)
+ -- Delta_Expression
+ -- Digits_Expression
+ -- Real_Range_Specification (set to Empty if not present)
------------------------------
-- 3.5.9 Digits Constraint --
@@ -3264,8 +3238,8 @@ package Sinfo is
-- N_Digits_Constraint
-- Sloc points to DIGITS
- -- Digits_Expression (Node2)
- -- Range_Constraint (Node4) (set to Empty if not present)
+ -- Digits_Expression
+ -- Range_Constraint (set to Empty if not present)
--------------------------------
-- 3.6 Array Type Definition --
@@ -3287,8 +3261,8 @@ package Sinfo is
-- N_Unconstrained_Array_Definition
-- Sloc points to ARRAY
- -- Subtype_Marks (List2)
- -- Component_Definition (Node4)
+ -- Subtype_Marks
+ -- Component_Definition
-----------------------------------
-- 3.6 Index Subtype Definition --
@@ -3315,8 +3289,8 @@ package Sinfo is
-- N_Constrained_Array_Definition
-- Sloc points to ARRAY
- -- Discrete_Subtype_Definitions (List2)
- -- Component_Definition (Node4)
+ -- Discrete_Subtype_Definitions
+ -- Component_Definition
-- Note: although the language allows the full syntax for discrete
-- subtype definitions (i.e. a discrete subtype indication or a range),
@@ -3347,10 +3321,10 @@ package Sinfo is
-- N_Component_Definition
-- Sloc points to ALIASED, ACCESS, or to first token of subtype mark
- -- Aliased_Present (Flag4)
- -- Null_Exclusion_Present (Flag11)
- -- Subtype_Indication (Node5) (set to Empty if not present)
- -- Access_Definition (Node3) (set to Empty if not present)
+ -- Aliased_Present
+ -- Null_Exclusion_Present
+ -- Subtype_Indication (set to Empty if not present)
+ -- Access_Definition (set to Empty if not present)
-----------------------------
-- 3.6.1 Index Constraint --
@@ -3420,12 +3394,12 @@ package Sinfo is
-- N_Discriminant_Specification
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Null_Exclusion_Present (Flag11)
- -- Discriminant_Type (Node5) subtype mark or access parameter definition
- -- Expression (Node3) (set to Empty if no default expression)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Defining_Identifier
+ -- Null_Exclusion_Present
+ -- Discriminant_Type subtype mark or access parameter definition
+ -- Expression (set to Empty if no default expression)
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
-----------------------------
-- 3.7 Default Expression --
@@ -3450,7 +3424,7 @@ package Sinfo is
-- N_Index_Or_Discriminant_Constraint
-- Sloc points to left paren
- -- Constraints (List1) points to list of discrete ranges or
+ -- Constraints points to list of discrete ranges or
-- discriminant associations
-------------------------------------
@@ -3466,9 +3440,9 @@ package Sinfo is
-- N_Discriminant_Association
-- Sloc points to first token of discriminant association
- -- Selector_Names (List1) (always non-empty, since if no selector
+ -- Selector_Names (always non-empty, since if no selector
-- names are present, this node is not used, see comment above)
- -- Expression (Node3)
+ -- Expression
---------------------------------
-- 3.8 Record Type Definition --
@@ -3502,17 +3476,17 @@ package Sinfo is
-- N_Record_Definition
-- Sloc points to RECORD or NULL
- -- End_Label (Node4) (set to Empty if internally generated record)
- -- Abstract_Present (Flag4)
- -- Tagged_Present (Flag15)
- -- Limited_Present (Flag17)
- -- Component_List (Node1) empty in null record case
- -- Null_Present (Flag13) set in null record case
- -- Task_Present (Flag5) set in task interfaces
- -- Protected_Present (Flag6) set in protected interfaces
- -- Synchronized_Present (Flag7) set in interfaces
- -- Interface_Present (Flag16) set in abstract interfaces
- -- Interface_List (List2) (set to No_List if none)
+ -- End_Label (set to Empty if internally generated record)
+ -- Abstract_Present
+ -- Tagged_Present
+ -- Limited_Present
+ -- Component_List empty in null record case
+ -- Null_Present set in null record case
+ -- Task_Present set in task interfaces
+ -- Protected_Present set in protected interfaces
+ -- Synchronized_Present set in interfaces
+ -- Interface_Present set in abstract interfaces
+ -- Interface_List (set to No_List if none)
-- Note: Task_Present, Protected_Present, Synchronized _Present,
-- Interface_List and Interface_Present are used for abstract
@@ -3529,9 +3503,9 @@ package Sinfo is
-- N_Component_List
-- Sloc points to first token of component list
- -- Component_Items (List3)
- -- Variant_Part (Node4) (set to Empty if no variant part)
- -- Null_Present (Flag13)
+ -- Component_Items
+ -- Variant_Part (set to Empty if no variant part)
+ -- Null_Present
-------------------------
-- 3.8 Component Item --
@@ -3568,11 +3542,11 @@ package Sinfo is
-- N_Component_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Component_Definition (Node4)
- -- Expression (Node3) (set to Empty if no default expression)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Defining_Identifier
+ -- Component_Definition
+ -- Expression (set to Empty if no default expression)
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
-------------------------
-- 3.8.1 Variant Part --
@@ -3588,8 +3562,8 @@ package Sinfo is
-- N_Variant_Part
-- Sloc points to CASE
- -- Name (Node2)
- -- Variants (List1)
+ -- Name
+ -- Variants
--------------------
-- 3.8.1 Variant --
@@ -3601,12 +3575,12 @@ package Sinfo is
-- N_Variant
-- Sloc points to WHEN
- -- Discrete_Choices (List4)
- -- Component_List (Node1)
- -- Enclosing_Variant (Node2-Sem)
- -- Present_Expr (Uint3-Sem)
- -- Dcheck_Function (Node5-Sem)
- -- Has_SP_Choice (Flag15-Sem)
+ -- Discrete_Choices
+ -- Component_List
+ -- Enclosing_Variant
+ -- Present_Expr
+ -- Dcheck_Function
+ -- Has_SP_Choice
-- Note: in the list of Discrete_Choices, the tree passed to the back
-- end does not have choice entries corresponding to names of statically
@@ -3638,8 +3612,8 @@ package Sinfo is
-- N_Others_Choice
-- Sloc points to OTHERS
- -- Others_Discrete_Choices (List1-Sem)
- -- All_Others (Flag11-Sem)
+ -- Others_Discrete_Choices
+ -- All_Others
----------------------------------
-- 3.9.1 Record Extension Part --
@@ -3686,11 +3660,11 @@ package Sinfo is
-- N_Access_To_Object_Definition
-- Sloc points to ACCESS
- -- All_Present (Flag15)
- -- Null_Exclusion_Present (Flag11)
- -- Null_Excluding_Subtype (Flag16)
- -- Subtype_Indication (Node5)
- -- Constant_Present (Flag17)
+ -- All_Present
+ -- Null_Exclusion_Present
+ -- Null_Excluding_Subtype
+ -- Subtype_Indication
+ -- Constant_Present
-----------------------------------
-- 3.10 General Access Modifier --
@@ -3717,17 +3691,17 @@ package Sinfo is
-- N_Access_Function_Definition
-- Sloc points to ACCESS
- -- Null_Exclusion_Present (Flag11)
- -- Null_Exclusion_In_Return_Present (Flag14)
- -- Protected_Present (Flag6)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Result_Definition (Node4) result subtype (subtype mark or access def)
+ -- Null_Exclusion_Present
+ -- Null_Exclusion_In_Return_Present
+ -- Protected_Present
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Result_Definition result subtype (subtype mark or access def)
-- N_Access_Procedure_Definition
-- Sloc points to ACCESS
- -- Null_Exclusion_Present (Flag11)
- -- Protected_Present (Flag6)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
+ -- Null_Exclusion_Present
+ -- Protected_Present
+ -- Parameter_Specifications (set to No_List if no formal part)
-----------------------------
-- 3.10 Access Definition --
@@ -3741,11 +3715,11 @@ package Sinfo is
-- N_Access_Definition
-- Sloc points to ACCESS
- -- Null_Exclusion_Present (Flag11)
- -- All_Present (Flag15)
- -- Constant_Present (Flag17)
- -- Subtype_Mark (Node4)
- -- Access_To_Subprogram_Definition (Node3) (set to Empty if not present)
+ -- Null_Exclusion_Present
+ -- All_Present
+ -- Constant_Present
+ -- Subtype_Mark
+ -- Access_To_Subprogram_Definition (set to Empty if not present)
-----------------------------------------
-- 3.10.1 Incomplete Type Declaration --
@@ -3756,13 +3730,13 @@ package Sinfo is
-- N_Incomplete_Type_Declaration
-- Sloc points to TYPE
- -- Defining_Identifier (Node1)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part, or if the discriminant part is an
-- unknown discriminant part)
- -- Premature_Use (Node5-Sem) used for improved diagnostics.
- -- Unknown_Discriminants_Present (Flag13) set if (<>) discriminant
- -- Tagged_Present (Flag15)
+ -- Premature_Use used for improved diagnostics.
+ -- Unknown_Discriminants_Present set if (<>) discriminant
+ -- Tagged_Present
----------------------------
-- 3.11 Declarative Part --
@@ -3833,10 +3807,10 @@ package Sinfo is
-- N_Explicit_Dereference
-- Sloc points to ALL
- -- Prefix (Node3)
- -- Actual_Designated_Subtype (Node4-Sem)
- -- Has_Dereference_Action (Flag13-Sem)
- -- Atomic_Sync_Required (Flag14-Sem)
+ -- Prefix
+ -- Actual_Designated_Subtype
+ -- Has_Dereference_Action
+ -- Atomic_Sync_Required
-- plus fields for expression
-------------------------------
@@ -3857,10 +3831,10 @@ package Sinfo is
-- N_Indexed_Component
-- Sloc contains a copy of the Sloc value of the Prefix
- -- Prefix (Node3)
- -- Expressions (List1)
- -- Generalized_Indexing (Node4-Sem)
- -- Atomic_Sync_Required (Flag14-Sem)
+ -- Prefix
+ -- Expressions
+ -- Generalized_Indexing
+ -- Atomic_Sync_Required
-- plus fields for expression
-- Note: if any of the subscripts requires a range check, then the
@@ -3883,8 +3857,8 @@ package Sinfo is
-- N_Slice
-- Sloc points to first token of prefix
- -- Prefix (Node3)
- -- Discrete_Range (Node4)
+ -- Prefix
+ -- Discrete_Range
-- plus fields for expression
-------------------------------
@@ -3899,13 +3873,13 @@ package Sinfo is
-- N_Selected_Component
-- Sloc points to the period
- -- Prefix (Node3)
- -- Selector_Name (Node2)
- -- Associated_Node (Node4-Sem)
- -- Do_Discriminant_Check (Flag3-Sem)
- -- Is_In_Discriminant_Check (Flag11-Sem)
- -- Atomic_Sync_Required (Flag14-Sem)
- -- Is_Prefixed_Call (Flag17-Sem)
+ -- Prefix
+ -- Selector_Name
+ -- Associated_Node
+ -- Do_Discriminant_Check
+ -- Is_In_Discriminant_Check
+ -- Atomic_Sync_Required
+ -- Is_Prefixed_Call
-- plus fields for expression
--------------------------
@@ -3993,17 +3967,17 @@ package Sinfo is
-- N_Attribute_Reference
-- Sloc points to apostrophe
- -- Prefix (Node3) (general expression, see note above)
- -- Attribute_Name (Name2) identifier name from attribute designator
- -- Expressions (List1) (set to No_List if no associated expressions)
- -- Entity (Node4-Sem) used if the attribute yields a type
- -- Associated_Node (Node4-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Header_Size_Added (Flag11-Sem)
- -- Redundant_Use (Flag13-Sem)
- -- Must_Be_Byte_Aligned (Flag14-Sem)
+ -- Prefix (general expression, see note above)
+ -- Attribute_Name identifier name from attribute designator
+ -- Expressions (set to No_List if no associated expressions)
+ -- Entity used if the attribute yields a type
+ -- Associated_Node
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Header_Size_Added
+ -- Redundant_Use
+ -- Must_Be_Byte_Aligned
-- plus fields for expression
-- Note: in Modify_Tree_For_C mode, Max and Min attributes are expanded
@@ -4058,15 +4032,15 @@ package Sinfo is
-- N_Aggregate
-- Sloc points to left parenthesis
- -- Expressions (List1) (set to No_List if none or null record case)
- -- Component_Associations (List2) (set to No_List if none)
- -- Null_Record_Present (Flag17)
- -- Aggregate_Bounds (Node3-Sem)
- -- Associated_Node (Node4-Sem)
- -- Compile_Time_Known_Aggregate (Flag18-Sem)
- -- Expansion_Delayed (Flag11-Sem)
- -- Has_Self_Reference (Flag13-Sem)
- -- Is_Homogeneous_Aggregate (Flag14)
+ -- Expressions (set to No_List if none or null record case)
+ -- Component_Associations (set to No_List if none)
+ -- Null_Record_Present
+ -- Aggregate_Bounds
+ -- Associated_Node
+ -- Compile_Time_Known_Aggregate
+ -- Expansion_Delayed
+ -- Has_Self_Reference
+ -- Is_Homogeneous_Aggregate
-- plus fields for expression
-- Note: this structure is used for both record and array aggregates
@@ -4121,12 +4095,12 @@ package Sinfo is
-- N_Component_Association
-- Sloc points to first selector name
- -- Choices (List1)
- -- Expression (Node3) (empty if Box_Present)
- -- Loop_Actions (List5-Sem)
- -- Box_Present (Flag15)
- -- Was_Default_Init_Box_Association (Flag14)
- -- Inherited_Discriminant (Flag13)
+ -- Choices
+ -- Expression (empty if Box_Present)
+ -- Loop_Actions
+ -- Box_Present
+ -- Inherited_Discriminant
+ -- Binding_Chars
-- Note: this structure is used for both record component associations
-- and array component associations, since the two cases aren't always
@@ -4134,9 +4108,11 @@ package Sinfo is
-- list of selector names in the record aggregate case, or a list of
-- discrete choices in the array aggregate case or an N_Others_Choice
-- node (which appears as a singleton list). Box_Present gives support
- -- to Ada 2005 (AI-287). Was_Default_Init_Box_Association is used for
- -- determining the need for Default_Initial_Condition check on component
- -- associations with a box.
+ -- to Ada 2005 (AI-287). Binding_Chars is only set if GNAT extensions
+ -- are enabled and the given component association occurs within a
+ -- choice_expression; in this case, it is the Name_Id, if any, specified
+ -- via either of two syntactic forms: "Foo => Bar is Abc" or
+ -- "Foo => <Abc>".
----------------------------------
-- 4.3.1 Component Choice List --
@@ -4161,13 +4137,13 @@ package Sinfo is
-- N_Extension_Aggregate
-- Sloc points to left parenthesis
- -- Ancestor_Part (Node3)
- -- Associated_Node (Node4-Sem)
- -- Expressions (List1) (set to No_List if none or null record case)
- -- Component_Associations (List2) (set to No_List if none)
- -- Null_Record_Present (Flag17)
- -- Expansion_Delayed (Flag11-Sem)
- -- Has_Self_Reference (Flag13-Sem)
+ -- Ancestor_Part
+ -- Associated_Node
+ -- Expressions (set to No_List if none or null record case)
+ -- Component_Associations (set to No_List if none)
+ -- Null_Record_Present
+ -- Expansion_Delayed
+ -- Has_Self_Reference
-- plus fields for expression
--------------------------
@@ -4223,12 +4199,12 @@ package Sinfo is
-- N_Iterated_Component_Association
-- Sloc points to FOR
- -- Defining_Identifier (Node1)
- -- Iterator_Specification (Node2) (set to Empty if no Iterator_Spec)
- -- Expression (Node3)
- -- Discrete_Choices (List4)
- -- Loop_Actions (List5-Sem)
- -- Box_Present (Flag15)
+ -- Defining_Identifier
+ -- Iterator_Specification (set to Empty if no Iterator_Spec)
+ -- Expression
+ -- Discrete_Choices
+ -- Loop_Actions
+ -- Box_Present
-- Note that Box_Present is always False, but it is intentionally added
-- for completeness.
@@ -4239,28 +4215,28 @@ package Sinfo is
-- N_Delta_Aggregate
-- Sloc points to left parenthesis
- -- Expression (Node3)
- -- Component_Associations (List2)
- -- Etype (Node5-Sem)
+ -- Expression
+ -- Component_Associations
+ -- Etype
---------------------------------
-- 3.4.5 Comtainer_Aggregates --
---------------------------------
-- N_Iterated_Element_Association
- -- Key_Expression (Node1)
- -- Iterator_Specification (Node2)
- -- Expression (Node3)
- -- Loop_Parameter_Specification (Node4)
- -- Loop_Actions (List5-Sem)
- -- Box_Present (Flag15)
+ -- Key_Expression
+ -- Iterator_Specification
+ -- Expression
+ -- Loop_Parameter_Specification
+ -- Loop_Actions
+ -- Box_Present
-- Exactly one of Iterator_Specification or Loop_Parameter_
-- specification is present. If the Key_Expression is absent,
-- the construct is parsed as an Iterated_Component_Association,
-- and legality checks are performed during semantic analysis.
- -- Both iterated associations are Ada2020 features that are
+ -- Both iterated associations are Ada 2022 features that are
-- expanded during aggregate construction, and do not appear in
-- expanded code.
@@ -4373,16 +4349,16 @@ package Sinfo is
-- N_And_Then
-- Sloc points to AND of AND THEN
- -- Left_Opnd (Node2)
- -- Right_Opnd (Node3)
- -- Actions (List1-Sem)
+ -- Left_Opnd
+ -- Right_Opnd
+ -- Actions
-- plus fields for expression
-- N_Or_Else
-- Sloc points to OR of OR ELSE
- -- Left_Opnd (Node2)
- -- Right_Opnd (Node3)
- -- Actions (List1-Sem)
+ -- Left_Opnd
+ -- Right_Opnd
+ -- Actions
-- plus fields for expression
-- Note: The Actions field is used to hold actions associated with
@@ -4421,18 +4397,18 @@ package Sinfo is
-- N_In
-- Sloc points to IN
- -- Left_Opnd (Node2)
- -- Right_Opnd (Node3)
- -- Alternatives (List4) (set to No_List if only one set alternative)
- -- No_Minimize_Eliminate (Flag17)
+ -- Left_Opnd
+ -- Right_Opnd
+ -- Alternatives (set to No_List if only one set alternative)
+ -- No_Minimize_Eliminate
-- plus fields for expression
-- N_Not_In
-- Sloc points to NOT of NOT IN
- -- Left_Opnd (Node2)
- -- Right_Opnd (Node3)
- -- Alternatives (List4) (set to No_List if only one set alternative)
- -- No_Minimize_Eliminate (Flag17)
+ -- Left_Opnd
+ -- Right_Opnd
+ -- Alternatives (set to No_List if only one set alternative)
+ -- No_Minimize_Eliminate
-- plus fields for expression
--------------------
@@ -4465,19 +4441,19 @@ package Sinfo is
-- N_Op_And
-- Sloc points to AND
- -- Do_Length_Check (Flag4-Sem)
+ -- Do_Length_Check
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Or
-- Sloc points to OR
- -- Do_Length_Check (Flag4-Sem)
+ -- Do_Length_Check
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Xor
-- Sloc points to XOR
- -- Do_Length_Check (Flag4-Sem)
+ -- Do_Length_Check
-- plus fields for binary operator
-- plus fields for expression
@@ -4523,39 +4499,39 @@ package Sinfo is
-- N_Op_Concat
-- Sloc points to &
- -- Is_Component_Left_Opnd (Flag13-Sem)
- -- Is_Component_Right_Opnd (Flag14-Sem)
+ -- Is_Component_Left_Opnd
+ -- Is_Component_Right_Opnd
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Multiply
-- Sloc points to *
- -- Rounded_Result (Flag18-Sem)
+ -- Rounded_Result
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Divide
-- Sloc points to /
- -- Do_Division_Check (Flag13-Sem)
- -- Rounded_Result (Flag18-Sem)
+ -- Do_Division_Check
+ -- Rounded_Result
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Mod
-- Sloc points to MOD
- -- Do_Division_Check (Flag13-Sem)
+ -- Do_Division_Check
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Rem
-- Sloc points to REM
- -- Do_Division_Check (Flag13-Sem)
+ -- Do_Division_Check
-- plus fields for binary operator
-- plus fields for expression
-- N_Op_Expon
-- Sloc points to **
- -- Is_Power_Of_2_For_Shift (Flag13-Sem)
+ -- Is_Power_Of_2_For_Shift
-- plus fields for binary operator
-- plus fields for expression
@@ -4627,11 +4603,11 @@ package Sinfo is
-- N_If_Expression
-- Sloc points to IF or ELSIF keyword
- -- Expressions (List1)
- -- Then_Actions (List2-Sem)
- -- Else_Actions (List3-Sem)
- -- Is_Elsif (Flag13) (set if comes from ELSIF)
- -- Do_Overflow_Check (Flag17-Sem)
+ -- Expressions
+ -- Then_Actions
+ -- Else_Actions
+ -- Is_Elsif (set if comes from ELSIF)
+ -- Do_Overflow_Check
-- plus fields for expression
-- Expressions here is a three-element list, whose first element is the
@@ -4666,10 +4642,10 @@ package Sinfo is
-- N_Case_Expression
-- Sloc points to CASE
- -- Expression (Node3) (the selecting expression)
- -- Alternatives (List4) (the case expression alternatives)
- -- Etype (Node5-Sem)
- -- Do_Overflow_Check (Flag17-Sem)
+ -- Expression (the selecting expression)
+ -- Alternatives (the case expression alternatives)
+ -- Etype
+ -- Do_Overflow_Check
----------------------------------------
-- 4.5.7 Case Expression Alternative --
@@ -4681,10 +4657,10 @@ package Sinfo is
-- N_Case_Expression_Alternative
-- Sloc points to WHEN
- -- Actions (List1)
- -- Discrete_Choices (List4)
- -- Expression (Node3)
- -- Has_SP_Choice (Flag15-Sem)
+ -- Actions
+ -- Discrete_Choices
+ -- Expression
+ -- Has_SP_Choice
-- Note: The Actions field temporarily holds any actions associated with
-- evaluation of the Expression. During expansion of the case expression
@@ -4709,10 +4685,10 @@ package Sinfo is
-- N_Quantified_Expression
-- Sloc points to FOR
- -- Iterator_Specification (Node2)
- -- Loop_Parameter_Specification (Node4)
- -- Condition (Node1)
- -- All_Present (Flag15)
+ -- Iterator_Specification
+ -- Loop_Parameter_Specification
+ -- Condition
+ -- All_Present
--------------------------
-- 4.6 Type Conversion --
@@ -4732,7 +4708,8 @@ package Sinfo is
-- Conversions from floating-point to integer are only handled in
-- the case where Float_Truncate flag set. Other conversions from
-- floating-point to integer (involving rounding) and all conversions
- -- involving fixed-point types are handled by the expander.
+ -- involving fixed-point types are handled by the expander, unless the
+ -- Conversion_OK flag is set.
-- Sprint syntax if Float_Truncate set: X^(Y)
-- Sprint syntax if Conversion_OK set X?(Y)
@@ -4744,15 +4721,14 @@ package Sinfo is
-- N_Type_Conversion
-- Sloc points to first token of subtype mark
- -- Subtype_Mark (Node4)
- -- Expression (Node3)
- -- Do_Discriminant_Check (Flag3-Sem)
- -- Do_Length_Check (Flag4-Sem)
- -- Float_Truncate (Flag11-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- Conversion_OK (Flag14-Sem)
- -- Do_Overflow_Check (Flag17-Sem)
- -- Rounded_Result (Flag18-Sem)
+ -- Subtype_Mark
+ -- Expression
+ -- Do_Discriminant_Check
+ -- Do_Length_Check
+ -- Float_Truncate
+ -- Conversion_OK
+ -- Do_Overflow_Check
+ -- Rounded_Result
-- plus fields for expression
-- Note: if a range check is required, then the Do_Range_Check flag
@@ -4774,9 +4750,9 @@ package Sinfo is
-- N_Qualified_Expression
-- Sloc points to apostrophe
- -- Subtype_Mark (Node4)
- -- Expression (Node3) expression or aggregate
- -- Is_Qualified_Universal_Literal (Flag4-Sem)
+ -- Subtype_Mark
+ -- Expression expression or aggregate
+ -- Is_Qualified_Universal_Literal
-- plus fields for expression
--------------------
@@ -4796,16 +4772,16 @@ package Sinfo is
-- N_Allocator
-- Sloc points to NEW
- -- Expression (Node3) subtype indication or qualified expression
- -- Subpool_Handle_Name (Node4) (set to Empty if not present)
- -- Storage_Pool (Node1-Sem)
- -- Procedure_To_Call (Node2-Sem)
- -- Alloc_For_BIP_Return (Flag1-Sem)
- -- Null_Exclusion_Present (Flag11)
- -- No_Initialization (Flag13-Sem)
- -- Is_Static_Coextension (Flag14-Sem)
- -- Do_Storage_Check (Flag17-Sem)
- -- Is_Dynamic_Coextension (Flag18-Sem)
+ -- Expression subtype indication or qualified expression
+ -- Subpool_Handle_Name (set to Empty if not present)
+ -- Storage_Pool
+ -- Procedure_To_Call
+ -- Alloc_For_BIP_Return
+ -- Null_Exclusion_Present
+ -- No_Initialization
+ -- Is_Static_Coextension
+ -- Do_Storage_Check
+ -- Is_Dynamic_Coextension
-- plus fields for expression
-- Note: like all nodes, the N_Allocator has the Comes_From_Source flag.
@@ -4871,7 +4847,7 @@ package Sinfo is
-- N_Null_Statement
-- Sloc points to NULL
- -- Next_Rep_Item (Node5-Sem)
+ -- Next_Rep_Item
----------------
-- 5.1 Label --
@@ -4886,8 +4862,8 @@ package Sinfo is
-- N_Label
-- Sloc points to <<
- -- Identifier (Node1) direct name of statement identifier
- -- Exception_Junk (Flag8-Sem)
+ -- Identifier direct name of statement identifier
+ -- Exception_Junk
-- Note: Before Ada 2012, a label is always followed by a statement,
-- and this is true in the tree even in Ada 2012 mode (the parser
@@ -4911,20 +4887,19 @@ package Sinfo is
-- N_Assignment_Statement
-- Sloc points to :=
- -- Name (Node2)
- -- Expression (Node3)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Do_Discriminant_Check (Flag3-Sem)
- -- Do_Length_Check (Flag4-Sem)
- -- Forwards_OK (Flag5-Sem)
- -- Backwards_OK (Flag6-Sem)
- -- No_Ctrl_Actions (Flag7-Sem)
- -- Has_Target_Names (Flag8-Sem)
- -- Is_Elaboration_Code (Flag9-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- Componentwise_Assignment (Flag14-Sem)
- -- Suppress_Assignment_Checks (Flag18-Sem)
+ -- Name
+ -- Expression
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Do_Discriminant_Check
+ -- Do_Length_Check
+ -- Forwards_OK
+ -- Backwards_OK
+ -- No_Ctrl_Actions
+ -- Has_Target_Names
+ -- Is_Elaboration_Code
+ -- Componentwise_Assignment
+ -- Suppress_Assignment_Checks
-- Note: if a range check is required, then the Do_Range_Check flag
-- is set in the Expression (right hand side), with the check being
@@ -4943,9 +4918,9 @@ package Sinfo is
-- N_Target_Name
-- Sloc points to @
- -- Etype (Node5-Sem)
+ -- Etype
- -- Note (Ada 2020): node is used during analysis as a placeholder for
+ -- Note (Ada 2022): node is used during analysis as a placeholder for
-- the value of the LHS of the enclosing assignment statement. Node is
-- eventually rewritten together with enclosing assignment, and backends
-- are not aware of it.
@@ -4969,18 +4944,18 @@ package Sinfo is
-- N_If_Statement
-- Sloc points to IF
- -- Condition (Node1)
- -- Then_Statements (List2)
- -- Elsif_Parts (List3) (set to No_List if none present)
- -- Else_Statements (List4) (set to No_List if no else part present)
- -- End_Span (Uint5) (set to Uint_0 if expander generated)
- -- From_Conditional_Expression (Flag1-Sem)
+ -- Condition
+ -- Then_Statements
+ -- Elsif_Parts (set to No_List if none present)
+ -- Else_Statements (set to No_List if no else part present)
+ -- End_Span (set to Uint_0 if expander generated)
+ -- From_Conditional_Expression
-- N_Elsif_Part
-- Sloc points to ELSIF
- -- Condition (Node1)
- -- Then_Statements (List2)
- -- Condition_Actions (List3-Sem)
+ -- Condition
+ -- Then_Statements
+ -- Condition_Actions
--------------------
-- 5.3 Condition --
@@ -5004,10 +4979,10 @@ package Sinfo is
-- N_Case_Statement
-- Sloc points to CASE
- -- Expression (Node3)
- -- Alternatives (List4)
- -- End_Span (Uint5) (set to Uint_0 if expander generated)
- -- From_Conditional_Expression (Flag1-Sem)
+ -- Expression
+ -- Alternatives
+ -- End_Span (set to Uint_0 if expander generated)
+ -- From_Conditional_Expression
-- Note: Before Ada 2012, a pragma in a statement sequence is always
-- followed by a statement, and this is true in the tree even in Ada
@@ -5024,14 +4999,19 @@ package Sinfo is
-- N_Case_Statement_Alternative
-- Sloc points to WHEN
- -- Discrete_Choices (List4)
- -- Statements (List3)
- -- Has_SP_Choice (Flag15-Sem)
+ -- Discrete_Choices
+ -- Statements
+ -- Has_SP_Choice
+ -- Multidefined_Bindings
-- Note: in the list of Discrete_Choices, the tree passed to the back
-- end does not have choice entries corresponding to names of statically
-- predicated subtypes. Such entries are always expanded out to the list
- -- of equivalent values or ranges.
+ -- of equivalent values or ranges. Multidefined_Bindings is True iff
+ -- more than one choice is present and each choice contains
+ -- at least one component association having a non-null Binding_Chars
+ -- attribute; this can only occur if GNAT extensions are enabled
+ -- and the type of the case selector is composite.
-------------------------
-- 5.5 Loop Statement --
@@ -5061,13 +5041,13 @@ package Sinfo is
-- N_Loop_Statement
-- Sloc points to LOOP
- -- Identifier (Node1) loop identifier (set to Empty if no identifier)
- -- Iteration_Scheme (Node2) (set to Empty if no iteration scheme)
- -- Statements (List3)
- -- End_Label (Node4)
- -- Has_Created_Identifier (Flag15)
- -- Is_Null_Loop (Flag16)
- -- Suppress_Loop_Warnings (Flag17)
+ -- Identifier loop identifier (set to Empty if no identifier)
+ -- Iteration_Scheme (set to Empty if no iteration scheme)
+ -- Statements
+ -- End_Label
+ -- Has_Created_Identifier
+ -- Is_Null_Loop
+ -- Suppress_Loop_Warnings
-- Note: the parser fills in the Identifier field if there is an
-- explicit loop identifier. Otherwise the parser leaves this field
@@ -5095,10 +5075,10 @@ package Sinfo is
-- N_Iteration_Scheme
-- Sloc points to WHILE or FOR
- -- Condition (Node1) (set to Empty if FOR case)
- -- Condition_Actions (List3-Sem)
- -- Iterator_Specification (Node2) (set to Empty if WHILE case)
- -- Loop_Parameter_Specification (Node4) (set to Empty if WHILE case)
+ -- Condition (set to Empty if FOR case)
+ -- Condition_Actions
+ -- Iterator_Specification (set to Empty if WHILE case)
+ -- Loop_Parameter_Specification (set to Empty if WHILE case)
---------------------------------------
-- 5.5 Loop Parameter Specification --
@@ -5108,14 +5088,14 @@ package Sinfo is
-- DEFINING_IDENTIFIER in [reverse] DISCRETE_SUBTYPE_DEFINITION
-- [Iterator_Filter]
- -- Note; the optional Iterator_Filter is an Ada_2020 construct.
+ -- Note: the optional Iterator_Filter is an Ada 2022 construct.
-- N_Loop_Parameter_Specification
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Reverse_Present (Flag15)
- -- Iterator_Filter (Node3) (set to Empty if not present)
- -- Discrete_Subtype_Definition (Node4)
+ -- Defining_Identifier
+ -- Reverse_Present
+ -- Iterator_Filter (set to Empty if not present)
+ -- Discrete_Subtype_Definition
-----------------------------------
-- 5.5.1 Iterator Specification --
@@ -5127,12 +5107,12 @@ package Sinfo is
-- N_Iterator_Specification
-- Sloc points to defining identifier
- -- Defining_Identifier (Node1)
- -- Name (Node2)
- -- Reverse_Present (Flag15)
- -- Of_Present (Flag16)
- -- Iterator_Filter (Node3) (set to Empty if not present)
- -- Subtype_Indication (Node5)
+ -- Defining_Identifier
+ -- Name
+ -- Reverse_Present
+ -- Of_Present
+ -- Iterator_Filter (set to Empty if not present)
+ -- Subtype_Indication
-- Note: The Of_Present flag distinguishes the two forms
@@ -5179,19 +5159,19 @@ package Sinfo is
-- N_Block_Statement
-- Sloc points to DECLARE or BEGIN
- -- Identifier (Node1) block direct name (set to Empty if not present)
- -- Declarations (List2) (set to No_List if no DECLARE part)
- -- Handled_Statement_Sequence (Node4)
- -- Activation_Chain_Entity (Node3-Sem)
- -- Cleanup_Actions (List5-Sem)
- -- Has_Created_Identifier (Flag15)
- -- Is_Asynchronous_Call_Block (Flag7)
- -- Is_Task_Allocation_Block (Flag6)
- -- Exception_Junk (Flag8-Sem)
- -- Is_Abort_Block (Flag4-Sem)
- -- Is_Finalization_Wrapper (Flag9-Sem)
- -- Is_Initialization_Block (Flag1-Sem)
- -- Is_Task_Master (Flag5-Sem)
+ -- Identifier block direct name (set to Empty if not present)
+ -- Declarations (set to No_List if no DECLARE part)
+ -- Handled_Statement_Sequence
+ -- Activation_Chain_Entity
+ -- Cleanup_Actions
+ -- Has_Created_Identifier
+ -- Is_Asynchronous_Call_Block
+ -- Is_Task_Allocation_Block
+ -- Exception_Junk
+ -- Is_Abort_Block
+ -- Is_Finalization_Wrapper
+ -- Is_Initialization_Block
+ -- Is_Task_Master
-------------------------
-- 5.7 Exit Statement --
@@ -5205,9 +5185,9 @@ package Sinfo is
-- N_Exit_Statement
-- Sloc points to EXIT
- -- Name (Node2) (set to Empty if no loop name present)
- -- Condition (Node1) (set to Empty if no WHEN part present)
- -- Next_Exit_Statement (Node3-Sem): Next exit on chain
+ -- Name (set to Empty if no loop name present)
+ -- Condition (set to Empty if no WHEN part present)
+ -- Next_Exit_Statement : Next exit on chain
-------------------------
-- 5.9 Goto Statement --
@@ -5217,8 +5197,8 @@ package Sinfo is
-- N_Goto_Statement
-- Sloc points to GOTO
- -- Name (Node2)
- -- Exception_Junk (Flag8-Sem)
+ -- Name
+ -- Exception_Junk
---------------------------------
-- 6.1 Subprogram Declaration --
@@ -5230,12 +5210,12 @@ package Sinfo is
-- N_Subprogram_Declaration
-- Sloc points to FUNCTION or PROCEDURE
- -- Specification (Node1)
- -- Body_To_Inline (Node3-Sem)
- -- Corresponding_Body (Node5-Sem)
- -- Parent_Spec (Node4-Sem)
- -- Is_Entry_Barrier_Function (Flag8-Sem)
- -- Is_Task_Body_Procedure (Flag1-Sem)
+ -- Specification
+ -- Body_To_Inline
+ -- Corresponding_Body
+ -- Parent_Spec
+ -- Is_Entry_Barrier_Function
+ -- Is_Task_Body_Procedure
------------------------------------------
-- 6.1 Abstract Subprogram Declaration --
@@ -5247,7 +5227,7 @@ package Sinfo is
-- N_Abstract_Subprogram_Declaration
-- Sloc points to ABSTRACT
- -- Specification (Node1)
+ -- Specification
-----------------------------------
-- 6.1 Subprogram Specification --
@@ -5264,23 +5244,23 @@ package Sinfo is
-- N_Function_Specification
-- Sloc points to FUNCTION
- -- Defining_Unit_Name (Node1) (the designator)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Null_Exclusion_Present (Flag11)
- -- Result_Definition (Node4) for result subtype
- -- Generic_Parent (Node5-Sem)
- -- Must_Override (Flag14) set if overriding indicator present
- -- Must_Not_Override (Flag15) set if not_overriding indicator present
+ -- Defining_Unit_Name (the designator)
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Null_Exclusion_Present
+ -- Result_Definition for result subtype
+ -- Generic_Parent
+ -- Must_Override set if overriding indicator present
+ -- Must_Not_Override set if not_overriding indicator present
-- N_Procedure_Specification
-- Sloc points to PROCEDURE
- -- Defining_Unit_Name (Node1)
- -- Null_Statement (Node2-Sem) NULL statement for body, if Null_Present
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Generic_Parent (Node5-Sem)
- -- Null_Present (Flag13) set for null procedure case (Ada 2005 feature)
- -- Must_Override (Flag14) set if overriding indicator present
- -- Must_Not_Override (Flag15) set if not_overriding indicator present
+ -- Defining_Unit_Name
+ -- Null_Statement NULL statement for body, if Null_Present
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Generic_Parent
+ -- Null_Present set for null procedure case (Ada 2005 feature)
+ -- Must_Override set if overriding indicator present
+ -- Must_Not_Override set if not_overriding indicator present
-- Note: overriding indicator is an Ada 2005 feature
@@ -5297,8 +5277,8 @@ package Sinfo is
-- N_Designator
-- Sloc points to period
- -- Name (Node2) holds the parent unit name
- -- Identifier (Node1)
+ -- Name holds the parent unit name
+ -- Identifier
-- Note: Name is always non-Empty, since this node is only used for the
-- case where a parent library unit package name is present.
@@ -5328,8 +5308,8 @@ package Sinfo is
-- N_Defining_Program_Unit_Name
-- Sloc points to period
- -- Name (Node2) holds the parent unit name
- -- Defining_Identifier (Node1)
+ -- Name holds the parent unit name
+ -- Defining_Identifier
-- Note: Name is always non-Empty, since this node is only used for the
-- case where a parent unit name is present.
@@ -5350,13 +5330,13 @@ package Sinfo is
-- N_Operator_Symbol
-- Sloc points to literal
- -- Chars (Name1) contains the Name_Id for the operator symbol
- -- Strval (Str3) Id of string value. This is used if the operator
+ -- Chars contains the Name_Id for the operator symbol
+ -- Strval Id of string value. This is used if the operator
-- symbol turns out to be a normal string after all.
- -- Entity (Node4-Sem)
- -- Associated_Node (Node4-Sem)
- -- Etype (Node5-Sem)
- -- Has_Private_View (Flag11-Sem) set in generic units
+ -- Entity
+ -- Associated_Node Note this is shared with Entity
+ -- Etype
+ -- Has_Private_View (set in generic units)
-- Note: the Strval field may be set to No_String for generated
-- operator symbols that are known not to be string literals
@@ -5382,10 +5362,10 @@ package Sinfo is
-- N_Defining_Operator_Symbol
-- Sloc points to literal
- -- Chars (Name1) contains the Name_Id for the operator symbol
- -- Next_Entity (Node2-Sem)
- -- Scope (Node3-Sem)
- -- Etype (Node5-Sem)
+ -- Chars contains the Name_Id for the operator symbol
+ -- Next_Entity
+ -- Scope
+ -- Etype
----------------------------
-- 6.1 Parameter Profile --
@@ -5433,17 +5413,16 @@ package Sinfo is
-- N_Parameter_Specification
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Aliased_Present (Flag4)
- -- In_Present (Flag15)
- -- Out_Present (Flag17)
- -- Null_Exclusion_Present (Flag11)
- -- Parameter_Type (Node2) subtype mark or access definition
- -- Expression (Node3) (set to Empty if no default expression present)
- -- Do_Accessibility_Check (Flag13-Sem)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
- -- Default_Expression (Node5-Sem)
+ -- Defining_Identifier
+ -- Aliased_Present
+ -- In_Present
+ -- Out_Present
+ -- Null_Exclusion_Present
+ -- Parameter_Type subtype mark or access definition
+ -- Expression (set to Empty if no default expression present)
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
+ -- Default_Expression
---------------
-- 6.1 Mode --
@@ -5468,22 +5447,22 @@ package Sinfo is
-- N_Subprogram_Body
-- Sloc points to FUNCTION or PROCEDURE
- -- Specification (Node1)
- -- Declarations (List2)
- -- Handled_Statement_Sequence (Node4)
- -- Activation_Chain_Entity (Node3-Sem)
- -- Corresponding_Spec (Node5-Sem)
- -- Acts_As_Spec (Flag4-Sem)
- -- Bad_Is_Detected (Flag15) used only by parser
- -- Do_Storage_Check (Flag17-Sem)
- -- Has_Relative_Deadline_Pragma (Flag9-Sem)
- -- Is_Entry_Barrier_Function (Flag8-Sem)
- -- Is_Protected_Subprogram_Body (Flag7-Sem)
- -- Is_Task_Body_Procedure (Flag1-Sem)
- -- Is_Task_Master (Flag5-Sem)
- -- Was_Attribute_Reference (Flag2-Sem)
- -- Was_Expression_Function (Flag18-Sem)
- -- Was_Originally_Stub (Flag13-Sem)
+ -- Specification
+ -- Declarations
+ -- Handled_Statement_Sequence
+ -- Activation_Chain_Entity
+ -- Corresponding_Spec
+ -- Acts_As_Spec
+ -- Bad_Is_Detected used only by parser
+ -- Do_Storage_Check
+ -- Has_Relative_Deadline_Pragma
+ -- Is_Entry_Barrier_Function
+ -- Is_Protected_Subprogram_Body
+ -- Is_Task_Body_Procedure
+ -- Is_Task_Master
+ -- Was_Attribute_Reference
+ -- Was_Expression_Function
+ -- Was_Originally_Stub
-----------------------------------
-- 6.4 Procedure Call Statement --
@@ -5500,17 +5479,16 @@ package Sinfo is
-- N_Procedure_Call_Statement
-- Sloc points to first token of name or prefix
- -- Name (Node2) stores name or prefix
- -- Parameter_Associations (List3) (set to No_List if no
+ -- Name stores name or prefix
+ -- Parameter_Associations (set to No_List if no
-- actual parameter part)
- -- First_Named_Actual (Node4-Sem)
- -- Controlling_Argument (Node1-Sem) (set to Empty if not dispatching)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- No_Elaboration_Check (Flag4-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- First_Named_Actual
+ -- Controlling_Argument (set to Empty if not dispatching)
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- No_Elaboration_Check
+ -- Is_Known_Guaranteed_ABE
-- plus fields for expression
-- If any IN parameter requires a range check, then the corresponding
@@ -5533,19 +5511,18 @@ package Sinfo is
-- N_Function_Call
-- Sloc points to first token of name or prefix
- -- Name (Node2) stores name or prefix
- -- Parameter_Associations (List3) (set to No_List if no
+ -- Name stores name or prefix
+ -- Parameter_Associations (set to No_List if no
-- actual parameter part)
- -- First_Named_Actual (Node4-Sem)
- -- Controlling_Argument (Node1-Sem) (set to Empty if not dispatching)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- No_Elaboration_Check (Flag4-Sem)
- -- Is_Expanded_Build_In_Place_Call (Flag11-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- No_Side_Effect_Removal (Flag17-Sem)
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- First_Named_Actual
+ -- Controlling_Argument (set to Empty if not dispatching)
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- No_Elaboration_Check
+ -- Is_Expanded_Build_In_Place_Call
+ -- No_Side_Effect_Removal
+ -- Is_Known_Guaranteed_ABE
-- plus fields for expression
--------------------------------
@@ -5569,10 +5546,10 @@ package Sinfo is
-- N_Parameter_Association
-- Sloc points to formal parameter
- -- Selector_Name (Node2) (always non-Empty)
- -- Explicit_Actual_Parameter (Node3)
- -- Next_Named_Actual (Node4-Sem)
- -- Is_Accessibility_Actual (Flag13-Sem)
+ -- Selector_Name (always non-Empty)
+ -- Explicit_Actual_Parameter
+ -- Next_Named_Actual
+ -- Is_Accessibility_Actual
---------------------------
-- 6.4 Actual Parameter --
@@ -5602,13 +5579,12 @@ package Sinfo is
-- N_Simple_Return_Statement
-- Sloc points to RETURN
- -- Return_Statement_Entity (Node5-Sem)
- -- Expression (Node3) (set to Empty if no expression present)
- -- Storage_Pool (Node1-Sem)
- -- Procedure_To_Call (Node2-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- By_Ref (Flag5-Sem)
- -- Comes_From_Extended_Return_Statement (Flag18-Sem)
+ -- Return_Statement_Entity
+ -- Expression (set to Empty if no expression present)
+ -- Storage_Pool
+ -- Procedure_To_Call
+ -- By_Ref
+ -- Comes_From_Extended_Return_Statement
-- Note: Return_Statement_Entity points to an E_Return_Statement
@@ -5617,13 +5593,12 @@ package Sinfo is
-- N_Extended_Return_Statement
-- Sloc points to RETURN
- -- Return_Statement_Entity (Node5-Sem)
- -- Return_Object_Declarations (List3)
- -- Handled_Statement_Sequence (Node4) (set to Empty if not present)
- -- Storage_Pool (Node1-Sem)
- -- Procedure_To_Call (Node2-Sem)
- -- Do_Tag_Check (Flag13-Sem)
- -- By_Ref (Flag5-Sem)
+ -- Return_Statement_Entity
+ -- Return_Object_Declarations
+ -- Handled_Statement_Sequence (set to Empty if not present)
+ -- Storage_Pool
+ -- Procedure_To_Call
+ -- By_Ref
-- Note: Return_Statement_Entity points to an E_Return_Statement.
@@ -5654,9 +5629,9 @@ package Sinfo is
-- N_Expression_Function
-- Sloc points to FUNCTION
- -- Specification (Node1)
- -- Expression (Node3)
- -- Corresponding_Spec (Node5-Sem)
+ -- Specification
+ -- Expression
+ -- Corresponding_Spec
------------------------------
-- 7.1 Package Declaration --
@@ -5670,10 +5645,10 @@ package Sinfo is
-- N_Package_Declaration
-- Sloc points to PACKAGE
- -- Specification (Node1)
- -- Corresponding_Body (Node5-Sem)
- -- Parent_Spec (Node4-Sem)
- -- Activation_Chain_Entity (Node3-Sem)
+ -- Specification
+ -- Corresponding_Body
+ -- Parent_Spec
+ -- Activation_Chain_Entity
--------------------------------
-- 7.1 Package Specification --
@@ -5690,13 +5665,13 @@ package Sinfo is
-- N_Package_Specification
-- Sloc points to PACKAGE
- -- Defining_Unit_Name (Node1)
- -- Visible_Declarations (List2)
- -- Private_Declarations (List3) (set to No_List if no private
+ -- Defining_Unit_Name
+ -- Visible_Declarations
+ -- Private_Declarations (set to No_List if no private
-- part present)
- -- End_Label (Node4)
- -- Generic_Parent (Node5-Sem)
- -- Limited_View_Installed (Flag18-Sem)
+ -- End_Label
+ -- Generic_Parent
+ -- Limited_View_Installed
-----------------------
-- 7.1 Package Body --
@@ -5713,11 +5688,11 @@ package Sinfo is
-- N_Package_Body
-- Sloc points to PACKAGE
- -- Defining_Unit_Name (Node1)
- -- Declarations (List2)
- -- Handled_Statement_Sequence (Node4) (set to Empty if no HSS present)
- -- Corresponding_Spec (Node5-Sem)
- -- Was_Originally_Stub (Flag13-Sem)
+ -- Defining_Unit_Name
+ -- Declarations
+ -- Handled_Statement_Sequence (set to Empty if no HSS present)
+ -- Corresponding_Spec
+ -- Was_Originally_Stub
-- Note: if a source level package does not contain a handled sequence
-- of statements, then the parser supplies a dummy one with a null
@@ -5738,13 +5713,13 @@ package Sinfo is
-- N_Private_Type_Declaration
-- Sloc points to TYPE
- -- Defining_Identifier (Node1)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part)
- -- Unknown_Discriminants_Present (Flag13) set if (<>) discriminant
- -- Abstract_Present (Flag4)
- -- Tagged_Present (Flag15)
- -- Limited_Present (Flag17)
+ -- Unknown_Discriminants_Present set if (<>) discriminant
+ -- Abstract_Present
+ -- Tagged_Present
+ -- Limited_Present
----------------------------------------
-- 7.4 Private Extension Declaration --
@@ -5761,16 +5736,16 @@ package Sinfo is
-- N_Private_Extension_Declaration
-- Sloc points to TYPE
- -- Defining_Identifier (Node1)
- -- Uninitialized_Variable (Node3-Sem)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Uninitialized_Variable
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part)
- -- Unknown_Discriminants_Present (Flag13) set if (<>) discriminant
- -- Abstract_Present (Flag4)
- -- Limited_Present (Flag17)
- -- Synchronized_Present (Flag7)
- -- Subtype_Indication (Node5)
- -- Interface_List (List2) (set to No_List if none)
+ -- Unknown_Discriminants_Present set if (<>) discriminant
+ -- Abstract_Present
+ -- Limited_Present
+ -- Synchronized_Present
+ -- Subtype_Indication
+ -- Interface_List (set to No_List if none)
---------------------
-- 8.4 Use Clause --
@@ -5786,14 +5761,14 @@ package Sinfo is
-- N_Use_Package_Clause
-- Sloc points to USE
- -- Prev_Use_Clause (Node1-Sem)
- -- Name (Node2)
- -- Next_Use_Clause (Node3-Sem)
- -- Associated_Node (Node4-Sem)
- -- Hidden_By_Use_Clause (Elist5-Sem)
- -- Is_Effective_Use_Clause (Flag1)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Prev_Use_Clause
+ -- Name
+ -- Next_Use_Clause
+ -- Associated_Node
+ -- Hidden_By_Use_Clause
+ -- Is_Effective_Use_Clause
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
--------------------------
-- 8.4 Use Type Clause --
@@ -5807,15 +5782,15 @@ package Sinfo is
-- N_Use_Type_Clause
-- Sloc points to USE
- -- Prev_Use_Clause (Node1-Sem)
- -- Used_Operations (Elist2-Sem)
- -- Next_Use_Clause (Node3-Sem)
- -- Subtype_Mark (Node4)
- -- Hidden_By_Use_Clause (Elist5-Sem)
- -- Is_Effective_Use_Clause (Flag1)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
- -- All_Present (Flag15)
+ -- Prev_Use_Clause
+ -- Used_Operations
+ -- Next_Use_Clause
+ -- Subtype_Mark
+ -- Hidden_By_Use_Clause
+ -- Is_Effective_Use_Clause
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
+ -- All_Present
-------------------------------
-- 8.5 Renaming Declaration --
@@ -5846,12 +5821,12 @@ package Sinfo is
-- N_Object_Renaming_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Null_Exclusion_Present (Flag11) (set to False if not present)
- -- Subtype_Mark (Node4) (set to Empty if not present)
- -- Access_Definition (Node3) (set to Empty if not present)
- -- Name (Node2)
- -- Corresponding_Generic_Association (Node5-Sem)
+ -- Defining_Identifier
+ -- Null_Exclusion_Present (set to False if not present)
+ -- Subtype_Mark (set to Empty if not present)
+ -- Access_Definition (set to Empty if not present)
+ -- Name
+ -- Corresponding_Generic_Association
-----------------------------------------
-- 8.5 Exception Renaming Declaration --
@@ -5863,8 +5838,8 @@ package Sinfo is
-- N_Exception_Renaming_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- Name (Node2)
+ -- Defining_Identifier
+ -- Name
---------------------------------------
-- 8.5 Package Renaming Declaration --
@@ -5876,9 +5851,9 @@ package Sinfo is
-- N_Package_Renaming_Declaration
-- Sloc points to PACKAGE
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
+ -- Defining_Unit_Name
+ -- Name
+ -- Parent_Spec
------------------------------------------
-- 8.5 Subprogram Renaming Declaration --
@@ -5890,12 +5865,12 @@ package Sinfo is
-- N_Subprogram_Renaming_Declaration
-- Sloc points to RENAMES
- -- Specification (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
- -- Corresponding_Spec (Node5-Sem)
- -- Corresponding_Formal_Spec (Node3-Sem)
- -- From_Default (Flag6-Sem)
+ -- Specification
+ -- Name
+ -- Parent_Spec
+ -- Corresponding_Spec
+ -- Corresponding_Formal_Spec
+ -- From_Default
-----------------------------------------
-- 8.5.5 Generic Renaming Declaration --
@@ -5914,21 +5889,21 @@ package Sinfo is
-- N_Generic_Package_Renaming_Declaration
-- Sloc points to GENERIC
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
+ -- Defining_Unit_Name
+ -- Name
+ -- Parent_Spec
-- N_Generic_Procedure_Renaming_Declaration
-- Sloc points to GENERIC
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
+ -- Defining_Unit_Name
+ -- Name
+ -- Parent_Spec
-- N_Generic_Function_Renaming_Declaration
-- Sloc points to GENERIC
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
+ -- Defining_Unit_Name
+ -- Name
+ -- Parent_Spec
--------------------------------
-- 9.1 Task Type Declaration --
@@ -5941,12 +5916,12 @@ package Sinfo is
-- N_Task_Type_Declaration
-- Sloc points to TASK
- -- Defining_Identifier (Node1)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part)
- -- Interface_List (List2) (set to No_List if none)
- -- Task_Definition (Node3) (set to Empty if not present)
- -- Corresponding_Body (Node5-Sem)
+ -- Interface_List (set to No_List if none)
+ -- Task_Definition (set to Empty if not present)
+ -- Corresponding_Body
----------------------------------
-- 9.1 Single Task Declaration --
@@ -5959,9 +5934,9 @@ package Sinfo is
-- N_Single_Task_Declaration
-- Sloc points to TASK
- -- Defining_Identifier (Node1)
- -- Interface_List (List2) (set to No_List if none)
- -- Task_Definition (Node3) (set to Empty if not present)
+ -- Defining_Identifier
+ -- Interface_List (set to No_List if none)
+ -- Task_Definition (set to Empty if not present)
--------------------------
-- 9.1 Task Definition --
@@ -5978,11 +5953,11 @@ package Sinfo is
-- N_Task_Definition
-- Sloc points to first token of task definition
- -- Visible_Declarations (List2)
- -- Private_Declarations (List3) (set to No_List if no private part)
- -- End_Label (Node4)
- -- Has_Storage_Size_Pragma (Flag5-Sem)
- -- Has_Relative_Deadline_Pragma (Flag9-Sem)
+ -- Visible_Declarations
+ -- Private_Declarations (set to No_List if no private part)
+ -- End_Label
+ -- Has_Storage_Size_Pragma
+ -- Has_Relative_Deadline_Pragma
--------------------
-- 9.1 Task Item --
@@ -6007,13 +5982,13 @@ package Sinfo is
-- N_Task_Body
-- Sloc points to TASK
- -- Defining_Identifier (Node1)
- -- Declarations (List2)
- -- Handled_Statement_Sequence (Node4)
- -- Is_Task_Master (Flag5-Sem)
- -- Activation_Chain_Entity (Node3-Sem)
- -- Corresponding_Spec (Node5-Sem)
- -- Was_Originally_Stub (Flag13-Sem)
+ -- Defining_Identifier
+ -- Declarations
+ -- Handled_Statement_Sequence
+ -- Is_Task_Master
+ -- Activation_Chain_Entity
+ -- Corresponding_Spec
+ -- Was_Originally_Stub
-------------------------------------
-- 9.4 Protected Type Declaration --
@@ -6028,12 +6003,12 @@ package Sinfo is
-- N_Protected_Type_Declaration
-- Sloc points to PROTECTED
- -- Defining_Identifier (Node1)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part)
- -- Interface_List (List2) (set to No_List if none)
- -- Protected_Definition (Node3)
- -- Corresponding_Body (Node5-Sem)
+ -- Interface_List (set to No_List if none)
+ -- Protected_Definition
+ -- Corresponding_Body
---------------------------------------
-- 9.4 Single Protected Declaration --
@@ -6048,9 +6023,9 @@ package Sinfo is
-- N_Single_Protected_Declaration
-- Sloc points to PROTECTED
- -- Defining_Identifier (Node1)
- -- Interface_List (List2) (set to No_List if none)
- -- Protected_Definition (Node3)
+ -- Defining_Identifier
+ -- Interface_List (set to No_List if none)
+ -- Protected_Definition
-------------------------------
-- 9.4 Protected Definition --
@@ -6064,9 +6039,9 @@ package Sinfo is
-- N_Protected_Definition
-- Sloc points to first token of protected definition
- -- Visible_Declarations (List2)
- -- Private_Declarations (List3) (set to No_List if no private part)
- -- End_Label (Node4)
+ -- Visible_Declarations
+ -- Private_Declarations (set to No_List if no private part)
+ -- End_Label
------------------------------------------
-- 9.4 Protected Operation Declaration --
@@ -6101,11 +6076,11 @@ package Sinfo is
-- N_Protected_Body
-- Sloc points to PROTECTED
- -- Defining_Identifier (Node1)
- -- Declarations (List2) protected operation items (and pragmas)
- -- End_Label (Node4)
- -- Corresponding_Spec (Node5-Sem)
- -- Was_Originally_Stub (Flag13-Sem)
+ -- Defining_Identifier
+ -- Declarations protected operation items (and pragmas)
+ -- End_Label
+ -- Corresponding_Spec
+ -- Was_Originally_Stub
-----------------------------------
-- 9.4 Protected Operation Item --
@@ -6129,12 +6104,12 @@ package Sinfo is
-- N_Entry_Declaration
-- Sloc points to ENTRY
- -- Defining_Identifier (Node1)
- -- Discrete_Subtype_Definition (Node4) (set to Empty if not present)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Corresponding_Body (Node5-Sem)
- -- Must_Override (Flag14) set if overriding indicator present
- -- Must_Not_Override (Flag15) set if not_overriding indicator present
+ -- Defining_Identifier
+ -- Discrete_Subtype_Definition (set to Empty if not present)
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Corresponding_Body
+ -- Must_Override set if overriding indicator present
+ -- Must_Not_Override set if not_overriding indicator present
-- Note: overriding indicator is an Ada 2005 feature
@@ -6158,11 +6133,11 @@ package Sinfo is
-- N_Accept_Statement
-- Sloc points to ACCEPT
- -- Entry_Direct_Name (Node1)
- -- Entry_Index (Node5) (set to Empty if not present)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Handled_Statement_Sequence (Node4)
- -- Declarations (List2) (set to No_List if no declarations)
+ -- Entry_Direct_Name
+ -- Entry_Index (set to Empty if not present)
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Handled_Statement_Sequence
+ -- Declarations (set to No_List if no declarations)
------------------------
-- 9.5.2 Entry Index --
@@ -6191,11 +6166,11 @@ package Sinfo is
-- N_Entry_Body
-- Sloc points to ENTRY
- -- Defining_Identifier (Node1)
- -- Entry_Body_Formal_Part (Node5)
- -- Declarations (List2)
- -- Handled_Statement_Sequence (Node4)
- -- Activation_Chain_Entity (Node3-Sem)
+ -- Defining_Identifier
+ -- Entry_Body_Formal_Part
+ -- Declarations
+ -- Handled_Statement_Sequence
+ -- Activation_Chain_Entity
-----------------------------------
-- 9.5.2 Entry Body Formal Part --
@@ -6214,9 +6189,9 @@ package Sinfo is
-- N_Entry_Body_Formal_Part
-- Sloc points to first token
- -- Entry_Index_Specification (Node4) (set to Empty if not present)
- -- Parameter_Specifications (List3) (set to No_List if no formal part)
- -- Condition (Node1) from entry barrier of entry body
+ -- Entry_Index_Specification (set to Empty if not present)
+ -- Parameter_Specifications (set to No_List if no formal part)
+ -- Condition from entry barrier of entry body
--------------------------
-- 9.5.2 Entry Barrier --
@@ -6235,8 +6210,8 @@ package Sinfo is
-- N_Entry_Index_Specification
-- Sloc points to FOR
- -- Defining_Identifier (Node1)
- -- Discrete_Subtype_Definition (Node4)
+ -- Defining_Identifier
+ -- Discrete_Subtype_Definition
---------------------------------
-- 9.5.3 Entry Call Statement --
@@ -6251,13 +6226,13 @@ package Sinfo is
-- N_Entry_Call_Statement
-- Sloc points to first token of name
- -- Name (Node2)
- -- Parameter_Associations (List3) (set to No_List if no
+ -- Name
+ -- Parameter_Associations (set to No_List if no
-- actual parameter part)
- -- First_Named_Actual (Node4-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
+ -- First_Named_Actual
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
------------------------------
-- 9.5.4 Requeue Statement --
@@ -6271,11 +6246,11 @@ package Sinfo is
-- N_Requeue_Statement
-- Sloc points to REQUEUE
- -- Name (Node2)
- -- Abort_Present (Flag15)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
+ -- Name
+ -- Abort_Present
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
--------------------------
-- 9.6 Delay Statement --
@@ -6297,7 +6272,7 @@ package Sinfo is
-- N_Delay_Until_Statement
-- Sloc points to DELAY
- -- Expression (Node3)
+ -- Expression
-----------------------------------
-- 9.6 Delay Relative Statement --
@@ -6309,7 +6284,7 @@ package Sinfo is
-- N_Delay_Relative_Statement
-- Sloc points to DELAY
- -- Expression (Node3)
+ -- Expression
---------------------------
-- 9.7 Select Statement --
@@ -6343,8 +6318,8 @@ package Sinfo is
-- N_Selective_Accept
-- Sloc points to SELECT
- -- Select_Alternatives (List1)
- -- Else_Statements (List4) (set to No_List if no else part)
+ -- Select_Alternatives
+ -- Else_Statements (set to No_List if no else part)
------------------
-- 9.7.1 Guard --
@@ -6375,11 +6350,11 @@ package Sinfo is
-- N_Accept_Alternative
-- Sloc points to ACCEPT
- -- Accept_Statement (Node2)
- -- Condition (Node1) from the guard (set to Empty if no guard present)
- -- Statements (List3) (set to Empty_List if no statements)
- -- Pragmas_Before (List4) pragmas before alt (set to No_List if none)
- -- Accept_Handler_Records (List5-Sem)
+ -- Accept_Statement
+ -- 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 --
@@ -6392,10 +6367,10 @@ package Sinfo is
-- N_Delay_Alternative
-- Sloc points to DELAY
- -- Delay_Statement (Node2)
- -- Condition (Node1) from the guard (set to Empty if no guard present)
- -- Statements (List3) (set to Empty_List if no statements)
- -- Pragmas_Before (List4) pragmas before alt (set to No_List if none)
+ -- Delay_Statement
+ -- 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)
----------------------------------
-- 9.7.1 Terminate Alternative --
@@ -6407,9 +6382,9 @@ package Sinfo is
-- N_Terminate_Alternative
-- Sloc points to TERMINATE
- -- Condition (Node1) from the guard (set to Empty if no guard present)
- -- Pragmas_Before (List4) pragmas before alt (set to No_List if none)
- -- Pragmas_After (List5) pragmas after alt (set to No_List if none)
+ -- Condition from the guard (set to Empty if no guard present)
+ -- Pragmas_Before pragmas before alt (set to No_List if none)
+ -- Pragmas_After pragmas after alt (set to No_List if none)
-----------------------------
-- 9.7.2 Timed Entry Call --
@@ -6426,8 +6401,8 @@ package Sinfo is
-- N_Timed_Entry_Call
-- Sloc points to SELECT
- -- Entry_Call_Alternative (Node1)
- -- Delay_Alternative (Node4)
+ -- Entry_Call_Alternative
+ -- Delay_Alternative
-----------------------------------
-- 9.7.2 Entry Call Alternative --
@@ -6443,9 +6418,9 @@ package Sinfo is
-- N_Entry_Call_Alternative
-- Sloc points to first token of entry call statement
- -- Entry_Call_Statement (Node1)
- -- Statements (List3) (set to Empty_List if no statements)
- -- Pragmas_Before (List4) pragmas before alt (set to No_List if none)
+ -- Entry_Call_Statement
+ -- Statements (set to Empty_List if no statements)
+ -- Pragmas_Before pragmas before alt (set to No_List if none)
-----------------------------------
-- 9.7.3 Conditional Entry Call --
@@ -6462,8 +6437,8 @@ package Sinfo is
-- N_Conditional_Entry_Call
-- Sloc points to SELECT
- -- Entry_Call_Alternative (Node1)
- -- Else_Statements (List4)
+ -- Entry_Call_Alternative
+ -- Else_Statements
--------------------------------
-- 9.7.4 Asynchronous Select --
@@ -6482,8 +6457,8 @@ package Sinfo is
-- N_Asynchronous_Select
-- Sloc points to SELECT
- -- Triggering_Alternative (Node1)
- -- Abortable_Part (Node2)
+ -- Triggering_Alternative
+ -- Abortable_Part
-----------------------------------
-- 9.7.4 Triggering Alternative --
@@ -6496,9 +6471,9 @@ package Sinfo is
-- N_Triggering_Alternative
-- Sloc points to first token of triggering statement
- -- Triggering_Statement (Node1)
- -- Statements (List3) (set to Empty_List if no statements)
- -- Pragmas_Before (List4) pragmas before alt (set to No_List if none)
+ -- Triggering_Statement
+ -- Statements (set to Empty_List if no statements)
+ -- Pragmas_Before pragmas before alt (set to No_List if none)
---------------------------------
-- 9.7.4 Triggering Statement --
@@ -6516,7 +6491,7 @@ package Sinfo is
-- N_Abortable_Part
-- Sloc points to ABORT
- -- Statements (List3)
+ -- Statements
--------------------------
-- 9.8 Abort Statement --
@@ -6528,7 +6503,7 @@ package Sinfo is
-- N_Abort_Statement
-- Sloc points to ABORT
- -- Names (List2)
+ -- Names
-------------------------
-- 10.1.1 Compilation --
@@ -6579,26 +6554,26 @@ package Sinfo is
-- N_Compilation_Unit
-- Sloc points to first token of defining unit name
- -- Context_Items (List1) context items and pragmas preceding unit
- -- Private_Present (Flag15) set if library unit has private keyword
- -- Unit (Node2) library item or subunit
- -- Aux_Decls_Node (Node5) points to the N_Compilation_Unit_Aux node
- -- First_Inlined_Subprogram (Node3-Sem)
- -- Library_Unit (Node4-Sem) corresponding/parent spec/body
- -- Save_Invocation_Graph_Of_Body (Flag1-Sem)
- -- Acts_As_Spec (Flag4-Sem) flag for subprogram body with no spec
- -- Body_Required (Flag13-Sem) set for spec if body is required
- -- Has_Pragma_Suppress_All (Flag14-Sem)
- -- Context_Pending (Flag16-Sem)
- -- Has_No_Elaboration_Code (Flag17-Sem)
+ -- Context_Items context items and pragmas preceding unit
+ -- Private_Present set if library unit has private keyword
+ -- Unit library item or subunit
+ -- Aux_Decls_Node points to the N_Compilation_Unit_Aux node
+ -- First_Inlined_Subprogram
+ -- Library_Unit corresponding/parent spec/body
+ -- Save_Invocation_Graph_Of_Body
+ -- Acts_As_Spec flag for subprogram body with no spec
+ -- Body_Required set for spec if body is required
+ -- Has_Pragma_Suppress_All
+ -- Context_Pending
+ -- Has_No_Elaboration_Code
-- N_Compilation_Unit_Aux
-- Sloc is a copy of the Sloc from the N_Compilation_Unit node
- -- Declarations (List2) (set to No_List if no global declarations)
- -- Actions (List1) (set to No_List if no actions)
- -- Pragmas_After (List5) pragmas after unit (set to No_List if none)
- -- Config_Pragmas (List4) config pragmas (set to Empty_List if none)
- -- Default_Storage_Pool (Node3-Sem)
+ -- Declarations (set to No_List if no global declarations)
+ -- Actions (set to No_List if no actions)
+ -- Pragmas_After pragmas after unit (set to No_List if none)
+ -- Config_Pragmas config pragmas (set to Empty_List if none)
+ -- Default_Storage_Pool
--------------------------
-- 10.1.1 Library Item --
@@ -6682,24 +6657,24 @@ package Sinfo is
-- N_With_Clause
-- Sloc points to first token of library unit name
- -- Name (Node2)
- -- Private_Present (Flag15) set if with_clause has private keyword
- -- Limited_Present (Flag17) set if LIMITED is present
- -- Next_Implicit_With (Node3-Sem)
- -- Library_Unit (Node4-Sem)
- -- Corresponding_Spec (Node5-Sem)
- -- First_Name (Flag5) (set to True if first name or only one name)
- -- Last_Name (Flag6) (set to True if last name or only one name)
- -- Context_Installed (Flag13-Sem)
- -- Elaborate_Present (Flag4-Sem)
- -- Elaborate_All_Present (Flag14-Sem)
- -- Elaborate_All_Desirable (Flag9-Sem)
- -- Elaborate_Desirable (Flag11-Sem)
- -- Implicit_With (Flag16-Sem)
- -- Limited_View_Installed (Flag18-Sem)
- -- Parent_With (Flag1-Sem)
- -- Unreferenced_In_Spec (Flag7-Sem)
- -- No_Entities_Ref_In_Spec (Flag8-Sem)
+ -- Name
+ -- Private_Present set if with_clause has private keyword
+ -- Limited_Present set if LIMITED is present
+ -- Next_Implicit_With
+ -- Library_Unit
+ -- Corresponding_Spec
+ -- First_Name (set to True if first name or only one name)
+ -- Last_Name (set to True if last name or only one name)
+ -- Context_Installed
+ -- Elaborate_Present
+ -- Elaborate_All_Present
+ -- Elaborate_All_Desirable
+ -- Elaborate_Desirable
+ -- Implicit_With
+ -- Limited_View_Installed
+ -- Parent_With
+ -- Unreferenced_In_Spec
+ -- No_Entities_Ref_In_Spec
-- Note: Limited_Present and Limited_View_Installed are used to support
-- the implementation of Ada 2005 (AI-50217).
@@ -6743,10 +6718,10 @@ package Sinfo is
-- N_Subprogram_Body_Stub
-- Sloc points to FUNCTION or PROCEDURE
- -- Specification (Node1)
- -- Corresponding_Spec_Of_Stub (Node2-Sem)
- -- Library_Unit (Node4-Sem) points to the subunit
- -- Corresponding_Body (Node5-Sem)
+ -- Specification
+ -- Corresponding_Spec_Of_Stub
+ -- Library_Unit points to the subunit
+ -- Corresponding_Body
-------------------------------
-- 10.1.3 Package Body Stub --
@@ -6758,10 +6733,10 @@ package Sinfo is
-- N_Package_Body_Stub
-- Sloc points to PACKAGE
- -- Defining_Identifier (Node1)
- -- Corresponding_Spec_Of_Stub (Node2-Sem)
- -- Library_Unit (Node4-Sem) points to the subunit
- -- Corresponding_Body (Node5-Sem)
+ -- Defining_Identifier
+ -- Corresponding_Spec_Of_Stub
+ -- Library_Unit points to the subunit
+ -- Corresponding_Body
----------------------------
-- 10.1.3 Task Body Stub --
@@ -6773,10 +6748,10 @@ package Sinfo is
-- N_Task_Body_Stub
-- Sloc points to TASK
- -- Defining_Identifier (Node1)
- -- Corresponding_Spec_Of_Stub (Node2-Sem)
- -- Library_Unit (Node4-Sem) points to the subunit
- -- Corresponding_Body (Node5-Sem)
+ -- Defining_Identifier
+ -- Corresponding_Spec_Of_Stub
+ -- Library_Unit points to the subunit
+ -- Corresponding_Body
---------------------------------
-- 10.1.3 Protected Body Stub --
@@ -6790,10 +6765,10 @@ package Sinfo is
-- N_Protected_Body_Stub
-- Sloc points to PROTECTED
- -- Defining_Identifier (Node1)
- -- Corresponding_Spec_Of_Stub (Node2-Sem)
- -- Library_Unit (Node4-Sem) points to the subunit
- -- Corresponding_Body (Node5-Sem)
+ -- Defining_Identifier
+ -- Corresponding_Spec_Of_Stub
+ -- Library_Unit points to the subunit
+ -- Corresponding_Body
---------------------
-- 10.1.3 Subunit --
@@ -6803,9 +6778,9 @@ package Sinfo is
-- N_Subunit
-- Sloc points to SEPARATE
- -- Name (Node2) is the name of the parent unit
- -- Proper_Body (Node1) is the subunit body
- -- Corresponding_Stub (Node3-Sem) is the stub declaration for the unit.
+ -- Name is the name of the parent unit
+ -- Proper_Body is the subunit body
+ -- Corresponding_Stub is the stub declaration for the unit.
---------------------------------
-- 11.1 Exception Declaration --
@@ -6822,11 +6797,11 @@ package Sinfo is
-- N_Exception_Declaration
-- Sloc points to EXCEPTION
- -- Defining_Identifier (Node1)
- -- Expression (Node3-Sem)
- -- Renaming_Exception (Node2-Sem)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Defining_Identifier
+ -- Expression
+ -- Renaming_Exception
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
------------------------------------------
-- 11.2 Handled Sequence Of Statements --
@@ -6898,11 +6873,11 @@ package Sinfo is
-- N_Handled_Sequence_Of_Statements
-- Sloc points to first token of first statement
- -- Statements (List3)
- -- End_Label (Node4) (set to Empty if expander generated)
- -- Exception_Handlers (List5) (set to No_List if none present)
- -- At_End_Proc (Node1) (set to Empty if no clean up procedure)
- -- First_Real_Statement (Node2-Sem)
+ -- Statements
+ -- End_Label (set to Empty if expander generated)
+ -- Exception_Handlers (set to No_List if none present)
+ -- At_End_Proc (set to Empty if no clean up procedure)
+ -- First_Real_Statement
-- Note: the parent always contains a Declarations field which contains
-- declarations associated with the handled sequence of statements. This
@@ -6924,13 +6899,13 @@ package Sinfo is
-- N_Exception_Handler
-- Sloc points to WHEN
- -- Choice_Parameter (Node2) (set to Empty if not present)
- -- Exception_Choices (List4)
- -- Statements (List3)
- -- Exception_Label (Node5-Sem) (set to Empty of not present)
- -- Local_Raise_Statements (Elist1-Sem) (set to No_Elist if not present)
- -- Local_Raise_Not_OK (Flag7-Sem)
- -- Has_Local_Raise (Flag8-Sem)
+ -- Choice_Parameter (set to Empty if not present)
+ -- Exception_Choices
+ -- Statements
+ -- Exception_Label (set to Empty if not present)
+ -- Local_Raise_Statements (set to No_Elist if not present)
+ -- Local_Raise_Not_OK
+ -- Has_Local_Raise
------------------------------------------
-- 11.2 Choice parameter specification --
@@ -6965,9 +6940,9 @@ package Sinfo is
-- N_Raise_Statement
-- Sloc points to RAISE
- -- Name (Node2) (set to Empty if no exception name present)
- -- Expression (Node3) (set to Empty if no expression present)
- -- From_At_End (Flag4-Sem)
+ -- Name (set to Empty if no exception name present)
+ -- Expression (set to Empty if no expression present)
+ -- From_At_End
----------------------------
-- 11.3 Raise Expression --
@@ -6977,9 +6952,9 @@ package Sinfo is
-- N_Raise_Expression
-- Sloc points to RAISE
- -- Name (Node2) (always present)
- -- Expression (Node3) (set to Empty if no expression present)
- -- Convert_To_Return_False (Flag13-Sem)
+ -- Name (always present)
+ -- Expression (set to Empty if no expression present)
+ -- Convert_To_Return_False
-- plus fields for expression
-------------------------------
@@ -7001,10 +6976,10 @@ package Sinfo is
-- N_Generic_Subprogram_Declaration
-- Sloc points to GENERIC
- -- Specification (Node1) subprogram specification
- -- Corresponding_Body (Node5-Sem)
- -- Generic_Formal_Declarations (List2) from generic formal part
- -- Parent_Spec (Node4-Sem)
+ -- Specification subprogram specification
+ -- Corresponding_Body
+ -- Generic_Formal_Declarations from generic formal part
+ -- Parent_Spec
---------------------------------------
-- 12.1 Generic Package Declaration --
@@ -7022,11 +6997,11 @@ package Sinfo is
-- N_Generic_Package_Declaration
-- Sloc points to GENERIC
- -- Specification (Node1) package specification
- -- Corresponding_Body (Node5-Sem)
- -- Generic_Formal_Declarations (List2) from generic formal part
- -- Parent_Spec (Node4-Sem)
- -- Activation_Chain_Entity (Node3-Sem)
+ -- Specification package specification
+ -- Corresponding_Body
+ -- Generic_Formal_Declarations from generic formal part
+ -- Parent_Spec
+ -- Activation_Chain_Entity
-------------------------------
-- 12.1 Generic Formal Part --
@@ -7064,49 +7039,49 @@ package Sinfo is
-- N_Package_Instantiation
-- Sloc points to PACKAGE
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Generic_Associations (List3) (set to No_List if no
+ -- Defining_Unit_Name
+ -- Name
+ -- Generic_Associations (set to No_List if no
-- generic actual part)
- -- Parent_Spec (Node4-Sem)
- -- Instance_Spec (Node5-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Is_Declaration_Level_Node (Flag5-Sem)
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Parent_Spec
+ -- Instance_Spec
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Is_Declaration_Level_Node
+ -- Is_Known_Guaranteed_ABE
-- N_Procedure_Instantiation
-- Sloc points to PROCEDURE
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Parent_Spec (Node4-Sem)
- -- Generic_Associations (List3) (set to No_List if no
+ -- Defining_Unit_Name
+ -- Name
+ -- Parent_Spec
+ -- Generic_Associations (set to No_List if no
-- generic actual part)
- -- Instance_Spec (Node5-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Is_Declaration_Level_Node (Flag5-Sem)
- -- Must_Override (Flag14) set if overriding indicator present
- -- Must_Not_Override (Flag15) set if not_overriding indicator present
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Instance_Spec
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Is_Declaration_Level_Node
+ -- Must_Override set if overriding indicator present
+ -- Must_Not_Override set if not_overriding indicator present
+ -- Is_Known_Guaranteed_ABE
-- N_Function_Instantiation
-- Sloc points to FUNCTION
- -- Defining_Unit_Name (Node1)
- -- Name (Node2)
- -- Generic_Associations (List3) (set to No_List if no
+ -- Defining_Unit_Name
+ -- Name
+ -- Generic_Associations (set to No_List if no
-- generic actual part)
- -- Parent_Spec (Node4-Sem)
- -- Instance_Spec (Node5-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Is_Declaration_Level_Node (Flag5-Sem)
- -- Must_Override (Flag14) set if overriding indicator present
- -- Must_Not_Override (Flag15) set if not_overriding indicator present
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Parent_Spec
+ -- Instance_Spec
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Is_Declaration_Level_Node
+ -- Must_Override set if overriding indicator present
+ -- Must_Not_Override set if not_overriding indicator present
+ -- Is_Known_Guaranteed_ABE
-- Note: overriding indicator is an Ada 2005 feature
@@ -7137,10 +7112,10 @@ package Sinfo is
-- N_Generic_Association
-- Sloc points to first token of generic association
- -- Selector_Name (Node2) (set to Empty if no formal
+ -- Selector_Name (set to Empty if no formal
-- parameter selector name)
- -- Explicit_Generic_Actual_Parameter (Node1) (Empty if box present)
- -- Box_Present (Flag15) (for formal_package associations with a box)
+ -- Explicit_Generic_Actual_Parameter (Empty if box present)
+ -- Box_Present (for formal_package associations with a box)
---------------------------------------------
-- 12.3 Explicit Generic Actual Parameter --
@@ -7172,15 +7147,15 @@ package Sinfo is
-- N_Formal_Object_Declaration
-- Sloc points to first identifier
- -- Defining_Identifier (Node1)
- -- In_Present (Flag15)
- -- Out_Present (Flag17)
- -- Null_Exclusion_Present (Flag11) (set to False if not present)
- -- Subtype_Mark (Node4) (set to Empty if not present)
- -- Access_Definition (Node3) (set to Empty if not present)
- -- Default_Expression (Node5) (set to Empty if no default expression)
- -- More_Ids (Flag5) (set to False if no more identifiers in list)
- -- Prev_Ids (Flag6) (set to False if no previous identifiers in list)
+ -- Defining_Identifier
+ -- In_Present
+ -- Out_Present
+ -- Null_Exclusion_Present (set to False if not present)
+ -- Subtype_Mark (set to Empty if not present)
+ -- Access_Definition (set to Empty if not present)
+ -- Default_Expression (set to Empty if no default expression)
+ -- More_Ids (set to False if no more identifiers in list)
+ -- Prev_Ids (set to False if no previous identifiers in list)
-----------------------------------
-- 12.5 Formal Type Declaration --
@@ -7194,11 +7169,12 @@ package Sinfo is
-- N_Formal_Type_Declaration
-- Sloc points to TYPE
- -- Defining_Identifier (Node1)
- -- Formal_Type_Definition (Node3)
- -- Discriminant_Specifications (List4) (set to No_List if no
+ -- Defining_Identifier
+ -- Formal_Type_Definition
+ -- Discriminant_Specifications (set to No_List if no
-- discriminant part)
- -- Unknown_Discriminants_Present (Flag13) set if (<>) discriminant
+ -- Unknown_Discriminants_Present set if (<>) discriminant
+ -- Default_Subtype_Mark
----------------------------------
-- 12.5 Formal type definition --
@@ -7234,10 +7210,10 @@ package Sinfo is
-- N_Formal_Private_Type_Definition
-- Sloc points to PRIVATE
- -- Uninitialized_Variable (Node3-Sem)
- -- Abstract_Present (Flag4)
- -- Tagged_Present (Flag15)
- -- Limited_Present (Flag17)
+ -- Uninitialized_Variable
+ -- Abstract_Present
+ -- Tagged_Present
+ -- Limited_Present
--------------------------------------------
-- 12.5.1 Formal Derived Type Definition --
@@ -7250,12 +7226,12 @@ package Sinfo is
-- N_Formal_Derived_Type_Definition
-- Sloc points to NEW
- -- Subtype_Mark (Node4)
- -- Private_Present (Flag15)
- -- Abstract_Present (Flag4)
- -- Limited_Present (Flag17)
- -- Synchronized_Present (Flag7)
- -- Interface_List (List2) (set to No_List if none)
+ -- Subtype_Mark
+ -- Private_Present
+ -- Abstract_Present
+ -- Limited_Present
+ -- Synchronized_Present
+ -- Interface_List (set to No_List if none)
-----------------------------------------------
-- 12.5.1 Formal Incomplete Type Definition --
@@ -7265,7 +7241,7 @@ package Sinfo is
-- N_Formal_Incomplete_Type_Definition
-- Sloc points to identifier of parent
- -- Tagged_Present (Flag15)
+ -- Tagged_Present
---------------------------------------------
-- 12.5.2 Formal Discrete Type Definition --
@@ -7359,9 +7335,9 @@ package Sinfo is
-- N_Formal_Concrete_Subprogram_Declaration
-- Sloc points to WITH
- -- Specification (Node1)
- -- Default_Name (Node2) (set to Empty if no subprogram default)
- -- Box_Present (Flag15)
+ -- Specification
+ -- Default_Name (set to Empty if no subprogram default)
+ -- Box_Present
-- Note: if no subprogram default is present, then Name is set
-- to Empty, and Box_Present is False.
@@ -7376,9 +7352,9 @@ package Sinfo is
-- N_Formal_Abstract_Subprogram_Declaration
-- Sloc points to WITH
- -- Specification (Node1)
- -- Default_Name (Node2) (set to Empty if no subprogram default)
- -- Box_Present (Flag15)
+ -- Specification
+ -- Default_Name (set to Empty if no subprogram default)
+ -- Box_Present
-- Note: if no subprogram default is present, then Name is set
-- to Empty, and Box_Present is False.
@@ -7413,13 +7389,13 @@ package Sinfo is
-- N_Formal_Package_Declaration
-- Sloc points to WITH
- -- Defining_Identifier (Node1)
- -- Name (Node2)
- -- Generic_Associations (List3) (set to No_List if (<>) case or
+ -- Defining_Identifier
+ -- Name
+ -- Generic_Associations (set to No_List if (<>) case or
-- empty generic actual part)
- -- Box_Present (Flag15)
- -- Instance_Spec (Node5-Sem)
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Box_Present
+ -- Instance_Spec
+ -- Is_Known_Guaranteed_ABE
--------------------------------------
-- 12.7 Formal Package Actual Part --
@@ -7500,16 +7476,16 @@ package Sinfo is
-- N_Attribute_Definition_Clause
-- Sloc points to FOR
- -- Name (Node2) the local name
- -- Chars (Name1) the identifier name from the attribute designator
- -- Expression (Node3) the expression or name
- -- Entity (Node4-Sem)
- -- Next_Rep_Item (Node5-Sem)
- -- From_At_Mod (Flag4-Sem)
- -- Check_Address_Alignment (Flag11-Sem)
- -- From_Aspect_Specification (Flag13-Sem)
- -- Is_Delayed_Aspect (Flag14-Sem)
- -- Address_Warning_Posted (Flag18-Sem)
+ -- Name the local name
+ -- Chars the identifier name from the attribute designator
+ -- Expression the expression or name
+ -- Entity
+ -- Next_Rep_Item
+ -- From_At_Mod
+ -- Check_Address_Alignment
+ -- From_Aspect_Specification
+ -- Is_Delayed_Aspect
+ -- Address_Warning_Posted
-- Note: if From_Aspect_Specification is set, then Sloc points to the
-- aspect name, and Entity is resolved already to reference the entity
@@ -7552,19 +7528,19 @@ package Sinfo is
-- N_Aspect_Specification
-- Sloc points to aspect identifier
- -- Identifier (Node1) aspect identifier
- -- Aspect_Rep_Item (Node2-Sem)
- -- Expression (Node3) Aspect_Definition (set to Empty if none)
- -- Entity (Node4-Sem) entity to which the aspect applies
- -- Next_Rep_Item (Node5-Sem)
- -- Class_Present (Flag6) Set if 'Class present
- -- Is_Ignored (Flag9-Sem)
- -- Is_Checked (Flag11-Sem)
- -- Is_Delayed_Aspect (Flag14-Sem)
- -- Is_Disabled (Flag15-Sem)
- -- Is_Boolean_Aspect (Flag16-Sem)
- -- Split_PPC (Flag17) Set if split pre/post attribute
- -- Aspect_On_Partial_View (Flag18-Sem)
+ -- Identifier aspect identifier
+ -- Aspect_Rep_Item
+ -- Expression (set to Empty if none)
+ -- Entity entity to which the aspect applies
+ -- Next_Rep_Item
+ -- Class_Present Set if 'Class present
+ -- Is_Ignored
+ -- Is_Checked
+ -- Is_Delayed_Aspect
+ -- Is_Disabled
+ -- Is_Boolean_Aspect
+ -- Split_PPC Set if split pre/post attribute
+ -- Aspect_On_Partial_View
-- Note: Aspect_Specification is an Ada 2012 feature
@@ -7594,9 +7570,9 @@ package Sinfo is
-- N_Enumeration_Representation_Clause
-- Sloc points to FOR
- -- Identifier (Node1) direct name
- -- Array_Aggregate (Node3)
- -- Next_Rep_Item (Node5-Sem)
+ -- Identifier direct name
+ -- Array_Aggregate
+ -- Next_Rep_Item
---------------------------------
-- 13.4 Enumeration aggregate --
@@ -7621,10 +7597,10 @@ package Sinfo is
-- N_Record_Representation_Clause
-- Sloc points to FOR
- -- Identifier (Node1) direct name
- -- Mod_Clause (Node2) (set to Empty if no mod clause present)
- -- Component_Clauses (List3)
- -- Next_Rep_Item (Node5-Sem)
+ -- Identifier direct name
+ -- Mod_Clause (set to Empty if no mod clause present)
+ -- Component_Clauses
+ -- Next_Rep_Item
------------------------------
-- 13.5.1 Component clause --
@@ -7636,10 +7612,10 @@ package Sinfo is
-- N_Component_Clause
-- Sloc points to AT
- -- Component_Name (Node1) points to Name or Attribute_Reference
- -- Position (Node2)
- -- First_Bit (Node3)
- -- Last_Bit (Node4)
+ -- Component_Name points to Name or Attribute_Reference
+ -- Position
+ -- First_Bit
+ -- Last_Bit
----------------------
-- 13.5.1 Position --
@@ -7677,7 +7653,7 @@ package Sinfo is
-- N_Code_Statement
-- Sloc points to first token of the expression
- -- Expression (Node3)
+ -- Expression
-- Note: package Exp_Code contains an abstract functional interface
-- for use by Gigi in accessing the data from N_Code_Statement nodes.
@@ -7717,31 +7693,31 @@ package Sinfo is
-- Sloc points to the function name
-- plus fields for binary operator
-- plus fields for expression
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- N_Op_Rotate_Right
-- Sloc points to the function name
-- plus fields for binary operator
-- plus fields for expression
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- N_Op_Shift_Left
-- Sloc points to the function name
-- plus fields for binary operator
-- plus fields for expression
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- N_Op_Shift_Right_Arithmetic
-- Sloc points to the function name
-- plus fields for binary operator
-- plus fields for expression
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- N_Op_Shift_Right
-- Sloc points to the function name
-- plus fields for binary operator
-- plus fields for expression
- -- Shift_Count_OK (Flag4-Sem)
+ -- Shift_Count_OK
-- Note: N_Op_Rotate_Left, N_Op_Rotate_Right, N_Shift_Right_Arithmetic
-- never appear in the expanded tree if Modify_Tree_For_C mode is set.
@@ -7770,8 +7746,8 @@ package Sinfo is
-- N_Delta_Constraint
-- Sloc points to DELTA
- -- Delta_Expression (Node3)
- -- Range_Constraint (Node4) (set to Empty if not present)
+ -- Delta_Expression
+ -- Range_Constraint (set to Empty if not present)
--------------------
-- J.7 At Clause --
@@ -7790,8 +7766,8 @@ package Sinfo is
-- N_At_Clause
-- Sloc points to FOR
- -- Identifier (Node1)
- -- Expression (Node3)
+ -- Identifier
+ -- Expression
---------------------
-- J.8 Mod clause --
@@ -7816,8 +7792,8 @@ package Sinfo is
-- N_Mod_Clause
-- Sloc points to AT
- -- Expression (Node3)
- -- Pragmas_Before (List4) Pragmas before mod clause (No_List if none)
+ -- Expression
+ -- Pragmas_Before Pragmas before mod clause (No_List if none)
--------------------
-- Semantic Nodes --
@@ -7857,15 +7833,15 @@ package Sinfo is
-- N_Call_Marker
-- Sloc points to Sloc of original call
- -- Target (Node1-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Is_Source_Call (Flag4-Sem)
- -- Is_Declaration_Level_Node (Flag5-Sem)
- -- Is_Dispatching_Call (Flag6-Sem)
- -- Is_Preelaborable_Call (Flag7-Sem)
- -- Is_Known_Guaranteed_ABE (Flag18-Sem)
+ -- Target
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Is_Source_Call
+ -- Is_Declaration_Level_Node
+ -- Is_Dispatching_Call
+ -- Is_Preelaborable_Call
+ -- Is_Known_Guaranteed_ABE
------------------------
-- Compound Statement --
@@ -7898,7 +7874,7 @@ package Sinfo is
-- end;
-- N_Compound_Statement
- -- Actions (List1)
+ -- Actions
--------------
-- Contract --
@@ -7921,10 +7897,10 @@ package Sinfo is
-- N_Contract
-- Sloc points to the subprogram's name
- -- Pre_Post_Conditions (Node1-Sem) (set to Empty if none)
- -- Contract_Test_Cases (Node2-Sem) (set to Empty if none)
- -- Classifications (Node3-Sem) (set to Empty if none)
- -- Is_Expanded_Contract (Flag1-Sem)
+ -- Pre_Post_Conditions (set to Empty if none)
+ -- Contract_Test_Cases (set to Empty if none)
+ -- Classifications (set to Empty if none)
+ -- Is_Expanded_Contract
-- Pre_Post_Conditions contains a collection of pragmas that correspond
-- to pre- and postconditions associated with an entry or a subprogram
@@ -7991,17 +7967,17 @@ package Sinfo is
-- N_Expanded_Name
-- Sloc points to the period
- -- Chars (Name1) copy of Chars field of selector name
- -- Prefix (Node3)
- -- Selector_Name (Node2)
- -- Entity (Node4-Sem)
- -- Associated_Node (Node4-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Has_Private_View (Flag11-Sem) set in generic units
- -- Redundant_Use (Flag13-Sem)
- -- Atomic_Sync_Required (Flag14-Sem)
+ -- Chars copy of Chars field of selector name
+ -- Prefix
+ -- Selector_Name
+ -- Entity
+ -- Associated_Node
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Has_Private_View (set in generic units)
+ -- Redundant_Use
+ -- Atomic_Sync_Required
-- plus fields for expression
-----------------------------
@@ -8026,7 +8002,7 @@ package Sinfo is
-- If the actions contain declarations, then these declarations may
-- be referenced within the expression.
- -- (AI12-0236-1): In Ada 2020, for a declare_expression, the parser
+ -- (AI12-0236-1): In Ada 2022, for a declare_expression, the parser
-- generates an N_Expression_With_Actions. Declare_expressions have
-- various restrictions, which we do not enforce on
-- N_Expression_With_Actions nodes that are generated by the
@@ -8045,8 +8021,8 @@ package Sinfo is
-- in expression end
-- N_Expression_With_Actions
- -- Actions (List1)
- -- Expression (Node3)
+ -- Actions
+ -- Expression
-- plus fields for expression
-- Note: In the final generated tree presented to the code generator,
@@ -8074,10 +8050,10 @@ package Sinfo is
-- N_Free_Statement
-- Sloc is copied from the unchecked deallocation call
- -- Expression (Node3) argument to unchecked deallocation call
- -- Storage_Pool (Node1-Sem)
- -- Procedure_To_Call (Node2-Sem)
- -- Actual_Designated_Subtype (Node4-Sem)
+ -- Expression argument to unchecked deallocation call
+ -- Storage_Pool
+ -- Procedure_To_Call
+ -- Actual_Designated_Subtype
-- Note: in the case where a debug source file is generated, the Sloc
-- for this node points to the FREE keyword in the Sprint file output.
@@ -8113,11 +8089,11 @@ package Sinfo is
-- N_Freeze_Entity
-- Sloc points near freeze point (see above special note)
- -- Entity (Node4-Sem)
- -- Access_Types_To_Process (Elist2-Sem) (set to No_Elist if none)
- -- TSS_Elist (Elist3-Sem) (set to No_Elist if no associated TSS's)
- -- Actions (List1) (set to No_List if no freeze actions)
- -- First_Subtype_Link (Node5-Sem) (set to Empty if no link)
+ -- Entity
+ -- Access_Types_To_Process (set to No_Elist if none)
+ -- TSS_Elist (set to No_Elist if no associated TSS's)
+ -- Actions (set to No_List if no freeze actions)
+ -- First_Subtype_Link (set to Empty if no link)
-- The Actions field holds actions associated with the freeze. These
-- actions are elaborated at the point where the type is frozen.
@@ -8146,7 +8122,7 @@ package Sinfo is
-- N_Freeze_Generic_Entity
-- Sloc points near freeze point
- -- Entity (Node4-Sem)
+ -- Entity
--------------------------------
-- Implicit Label Declaration --
@@ -8178,8 +8154,8 @@ package Sinfo is
-- N_Implicit_Label_Declaration
-- Sloc points to the << token for a statement identifier, or to the
-- LOOP, DECLARE, or BEGIN token for a loop or block identifier
- -- Defining_Identifier (Node1)
- -- Label_Construct (Node2-Sem)
+ -- Defining_Identifier
+ -- Label_Construct
-- Note: in the case where a debug source file is generated, the Sloc
-- for this node points to the label name in the generated declaration.
@@ -8203,7 +8179,7 @@ package Sinfo is
-- N_Itype_Reference
-- Sloc points to the node generating the reference
- -- Itype (Node1-Sem)
+ -- Itype
-- Note: in the case where a debug source file is generated, the Sloc
-- for this node points to the REFERENCE keyword in the file output.
@@ -8252,20 +8228,20 @@ package Sinfo is
-- N_Raise_Constraint_Error
-- Sloc references related construct
- -- Condition (Node1) (set to Empty if no condition)
- -- Reason (Uint3)
+ -- Condition (set to Empty if no condition)
+ -- Reason
-- plus fields for expression
-- N_Raise_Program_Error
-- Sloc references related construct
- -- Condition (Node1) (set to Empty if no condition)
- -- Reason (Uint3)
+ -- Condition (set to Empty if no condition)
+ -- Reason
-- plus fields for expression
-- N_Raise_Storage_Error
-- Sloc references related construct
- -- Condition (Node1) (set to Empty if no condition)
- -- Reason (Uint3)
+ -- Condition (set to Empty if no condition)
+ -- Reason
-- plus fields for expression
-- Note: Sloc is copied from the expression generating the exception.
@@ -8319,15 +8295,15 @@ package Sinfo is
-- N_Push_Constraint_Error_Label
-- Sloc references first statement in region covered
- -- Exception_Label (Node5-Sem)
+ -- Exception_Label
-- N_Push_Program_Error_Label
-- Sloc references first statement in region covered
- -- Exception_Label (Node5-Sem)
+ -- Exception_Label
-- N_Push_Storage_Error_Label
-- Sloc references first statement in region covered
- -- Exception_Label (Node5-Sem)
+ -- Exception_Label
-- N_Pop_Constraint_Error_Label
-- Sloc references last statement in region covered
@@ -8368,7 +8344,7 @@ package Sinfo is
-- N_Reference
-- Sloc is copied from the expression
- -- Prefix (Node3)
+ -- Prefix
-- plus fields for expression
-- Note: in the case where a debug source file is generated, the Sloc
@@ -8390,7 +8366,7 @@ package Sinfo is
-- N_SCIL_Dispatch_Table_Tag_Init
-- Sloc references a node for a tag initialization
- -- SCIL_Entity (Node4-Sem)
+ -- SCIL_Entity
--
-- An N_SCIL_Dispatch_Table_Tag_Init node may be associated (via
-- Get_SCIL_Node) with the N_Object_Declaration node corresponding to
@@ -8398,9 +8374,9 @@ package Sinfo is
-- N_SCIL_Dispatching_Call
-- Sloc references the node of a dispatching call
- -- SCIL_Target_Prim (Node2-Sem)
- -- SCIL_Entity (Node4-Sem)
- -- SCIL_Controlling_Tag (Node5-Sem)
+ -- SCIL_Target_Prim
+ -- SCIL_Entity
+ -- SCIL_Controlling_Tag
--
-- An N_Scil_Dispatching call node may be associated (via Get_SCIL_Node)
-- with the N_Procedure_Call_Statement or N_Function_Call node (or a
@@ -8408,8 +8384,8 @@ package Sinfo is
-- N_SCIL_Membership_Test
-- Sloc references the node of a membership test
- -- SCIL_Tag_Value (Node5-Sem)
- -- SCIL_Entity (Node4-Sem)
+ -- SCIL_Tag_Value
+ -- SCIL_Entity
--
-- An N_Scil_Membership_Test node may be associated (via Get_SCIL_Node)
-- with the N_In node (or a rewriting thereof) corresponding to a
@@ -8431,7 +8407,7 @@ package Sinfo is
-- N_Unchecked_Expression
-- Sloc is a copy of the Sloc of the expression
- -- Expression (Node3)
+ -- Expression
-- plus fields for expression
-- Note: in the case where a debug source file is generated, the Sloc
@@ -8444,8 +8420,11 @@ package Sinfo is
-- An unchecked type conversion node represents the semantic action
-- corresponding to a call to an instantiation of Unchecked_Conversion.
-- It is generated as a result of actual use of Unchecked_Conversion
- -- and also the expander generates unchecked type conversion nodes
- -- directly for expansion of complex semantic actions.
+ -- and also by the expander.
+
+ -- Unchecked type conversion nodes should be created by calling
+ -- Tbuild.Unchecked_Convert_To, rather than by directly calling
+ -- Nmake.Make_Unchecked_Type_Conversion.
-- Note: an unchecked type conversion is a variable as far as the
-- semantics are concerned, which is convenient for the expander.
@@ -8457,10 +8436,10 @@ package Sinfo is
-- N_Unchecked_Type_Conversion
-- Sloc points to related node in source
- -- Subtype_Mark (Node4)
- -- Expression (Node3)
- -- Kill_Range_Check (Flag11-Sem)
- -- No_Truncation (Flag17-Sem)
+ -- Subtype_Mark
+ -- Expression
+ -- Kill_Range_Check
+ -- No_Truncation
-- plus fields for expression
-- Note: in the case where a debug source file is generated, the Sloc
@@ -8499,8 +8478,8 @@ package Sinfo is
-- N_Validate_Unchecked_Conversion
-- Sloc points to instantiation (location for warning message)
- -- Source_Type (Node1-Sem)
- -- Target_Type (Node2-Sem)
+ -- Source_Type
+ -- Target_Type
-- Note: in the case where a debug source file is generated, the Sloc
-- for this node points to the VALIDATE keyword in the file output.
@@ -8532,12 +8511,12 @@ package Sinfo is
-- N_Variable_Reference_Marker
-- Sloc points to Sloc of original variable reference
- -- Target (Node1-Sem)
- -- Is_Elaboration_Checks_OK_Node (Flag1-Sem)
- -- Is_SPARK_Mode_On_Node (Flag2-Sem)
- -- Is_Elaboration_Warnings_OK_Node (Flag3-Sem)
- -- Is_Read (Flag4-Sem)
- -- Is_Write (Flag5-Sem)
+ -- Target
+ -- Is_Elaboration_Checks_OK_Node
+ -- Is_SPARK_Mode_On_Node
+ -- Is_Elaboration_Warnings_OK_Node
+ -- Is_Read
+ -- Is_Write
-----------
-- Empty --
@@ -8547,7 +8526,7 @@ package Sinfo is
-- some other situations to indicate an uninitialized value.
-- N_Empty
- -- Chars (Name1) is set to No_Name
+ -- Chars is set to No_Name
-----------
-- Error --
@@ -8558,5307 +8537,7 @@ package Sinfo is
-- error recovery (Error_Posted is also set in the Error node).
-- N_Error
- -- Chars (Name1) is set to Error_Name
- -- Etype (Node5-Sem)
-
- --------------------------
- -- Node Type Definition --
- --------------------------
-
- -- The following is the definition of the Node_Kind type. As previously
- -- discussed, this is separated off to allow rearrangement of the order to
- -- facilitate definition of subtype ranges. The comments show the subtype
- -- classes which apply to each set of node kinds. The first entry in the
- -- comment characterizes the following list of nodes.
-
- type Node_Kind is (
- N_Unused_At_Start,
-
- -- N_Representation_Clause
-
- N_At_Clause,
- N_Component_Clause,
- N_Enumeration_Representation_Clause,
- N_Mod_Clause,
- N_Record_Representation_Clause,
-
- -- N_Representation_Clause, N_Has_Chars
-
- N_Attribute_Definition_Clause,
-
- -- N_Has_Chars
-
- N_Empty,
- N_Pragma_Argument_Association,
-
- -- N_Has_Etype, N_Has_Chars
-
- -- Note: of course N_Error does not really have Etype or Chars fields,
- -- and any attempt to access these fields in N_Error will cause an
- -- error, but historically this always has been positioned so that an
- -- "in N_Has_Chars" or "in N_Has_Etype" test yields true for N_Error.
- -- Most likely this makes coding easier somewhere but still seems
- -- undesirable. To be investigated some time ???
-
- N_Error,
-
- -- N_Entity, N_Has_Etype, N_Has_Chars
-
- N_Defining_Character_Literal,
- N_Defining_Identifier,
- N_Defining_Operator_Symbol,
-
- -- N_Subexpr, N_Has_Etype, N_Has_Chars, N_Has_Entity
-
- N_Expanded_Name,
-
- -- N_Direct_Name, N_Subexpr, N_Has_Etype,
- -- N_Has_Chars, N_Has_Entity
-
- N_Identifier,
- N_Operator_Symbol,
-
- -- N_Direct_Name, N_Subexpr, N_Has_Etype,
- -- N_Has_Chars, N_Has_Entity
-
- N_Character_Literal,
-
- -- N_Binary_Op, N_Op, N_Subexpr,
- -- N_Has_Etype, N_Has_Chars, N_Has_Entity
-
- N_Op_Add,
- N_Op_Concat,
- N_Op_Expon,
- N_Op_Subtract,
-
- -- N_Binary_Op, N_Op, N_Subexpr,
- -- N_Has_Etype, N_Has_Chars, N_Has_Entity, N_Multiplying_Operator
-
- N_Op_Divide,
- N_Op_Mod,
- N_Op_Multiply,
- N_Op_Rem,
-
- -- N_Binary_Op, N_Op, N_Subexpr, N_Has_Etype
- -- N_Has_Entity, N_Has_Chars, N_Op_Boolean
-
- N_Op_And,
-
- -- N_Binary_Op, N_Op, N_Subexpr, N_Has_Etype
- -- N_Has_Entity, N_Has_Chars, N_Op_Boolean, N_Op_Compare
-
- N_Op_Eq,
- N_Op_Ge,
- N_Op_Gt,
- N_Op_Le,
- N_Op_Lt,
- N_Op_Ne,
-
- -- N_Binary_Op, N_Op, N_Subexpr, N_Has_Etype
- -- N_Has_Entity, N_Has_Chars, N_Op_Boolean
-
- N_Op_Or,
- N_Op_Xor,
-
- -- N_Binary_Op, N_Op, N_Subexpr, N_Has_Etype,
- -- N_Op_Shift, N_Has_Chars, N_Has_Entity
-
- N_Op_Rotate_Left,
- N_Op_Rotate_Right,
- N_Op_Shift_Left,
- N_Op_Shift_Right,
- N_Op_Shift_Right_Arithmetic,
-
- -- N_Unary_Op, N_Op, N_Subexpr, N_Has_Etype,
- -- N_Has_Chars, N_Has_Entity
-
- N_Op_Abs,
- N_Op_Minus,
- N_Op_Not,
- N_Op_Plus,
-
- -- N_Subexpr, N_Has_Etype, N_Has_Entity
-
- N_Attribute_Reference,
-
- -- N_Subexpr, N_Has_Etype, N_Membership_Test
-
- N_In,
- N_Not_In,
-
- -- N_Subexpr, N_Has_Etype, N_Short_Circuit
-
- N_And_Then,
- N_Or_Else,
-
- -- N_Subexpr, N_Has_Etype, N_Subprogram_Call
-
- N_Function_Call,
- N_Procedure_Call_Statement,
-
- -- N_Subexpr, N_Has_Etype, N_Raise_xxx_Error
-
- N_Raise_Constraint_Error,
- N_Raise_Program_Error,
- N_Raise_Storage_Error,
-
- -- N_Subexpr, N_Has_Etype, N_Numeric_Or_String_Literal
-
- N_Integer_Literal,
- N_Real_Literal,
- N_String_Literal,
-
- -- N_Subexpr, N_Has_Etype
-
- N_Explicit_Dereference,
- N_Expression_With_Actions,
- N_If_Expression,
- N_Indexed_Component,
- N_Null,
- N_Qualified_Expression,
- N_Quantified_Expression,
- N_Aggregate,
- N_Allocator,
- N_Case_Expression,
- N_Delta_Aggregate,
- N_Extension_Aggregate,
- N_Raise_Expression,
- N_Range,
- N_Reference,
- N_Selected_Component,
- N_Slice,
- N_Target_Name,
- N_Type_Conversion,
- N_Unchecked_Expression,
- N_Unchecked_Type_Conversion,
-
- -- N_Has_Etype
-
- N_Subtype_Indication,
-
- -- N_Declaration
-
- N_Component_Declaration,
- N_Entry_Declaration,
- N_Expression_Function,
- N_Formal_Object_Declaration,
- N_Formal_Type_Declaration,
- N_Full_Type_Declaration,
- N_Incomplete_Type_Declaration,
- N_Iterator_Specification,
- N_Loop_Parameter_Specification,
- N_Object_Declaration,
- N_Protected_Type_Declaration,
- N_Private_Extension_Declaration,
- N_Private_Type_Declaration,
- N_Subtype_Declaration,
-
- -- N_Subprogram_Specification, N_Declaration
-
- N_Function_Specification,
- N_Procedure_Specification,
-
- -- N_Access_To_Subprogram_Definition
-
- N_Access_Function_Definition,
- N_Access_Procedure_Definition,
-
- -- N_Later_Decl_Item
-
- N_Task_Type_Declaration,
-
- -- N_Body_Stub, N_Later_Decl_Item
-
- N_Package_Body_Stub,
- N_Protected_Body_Stub,
- N_Subprogram_Body_Stub,
- N_Task_Body_Stub,
-
- -- N_Generic_Instantiation, N_Later_Decl_Item
- -- N_Subprogram_Instantiation
-
- N_Function_Instantiation,
- N_Procedure_Instantiation,
-
- -- N_Generic_Instantiation, N_Later_Decl_Item
-
- N_Package_Instantiation,
-
- -- N_Unit_Body, N_Later_Decl_Item, N_Proper_Body
-
- N_Package_Body,
- N_Subprogram_Body,
-
- -- N_Later_Decl_Item, N_Proper_Body
-
- N_Protected_Body,
- N_Task_Body,
-
- -- N_Later_Decl_Item
-
- N_Implicit_Label_Declaration,
- N_Package_Declaration,
- N_Single_Task_Declaration,
- N_Subprogram_Declaration,
- N_Use_Package_Clause,
-
- -- N_Generic_Declaration, N_Later_Decl_Item
-
- N_Generic_Package_Declaration,
- N_Generic_Subprogram_Declaration,
-
- -- N_Array_Type_Definition
-
- N_Constrained_Array_Definition,
- N_Unconstrained_Array_Definition,
-
- -- N_Renaming_Declaration
-
- N_Exception_Renaming_Declaration,
- N_Object_Renaming_Declaration,
- N_Package_Renaming_Declaration,
- N_Subprogram_Renaming_Declaration,
-
- -- N_Generic_Renaming_Declaration, N_Renaming_Declaration
-
- N_Generic_Function_Renaming_Declaration,
- N_Generic_Package_Renaming_Declaration,
- N_Generic_Procedure_Renaming_Declaration,
-
- -- N_Statement_Other_Than_Procedure_Call
-
- N_Abort_Statement,
- N_Accept_Statement,
- N_Assignment_Statement,
- N_Asynchronous_Select,
- N_Block_Statement,
- N_Case_Statement,
- N_Code_Statement,
- N_Compound_Statement,
- N_Conditional_Entry_Call,
-
- -- N_Statement_Other_Than_Procedure_Call, N_Delay_Statement
-
- N_Delay_Relative_Statement,
- N_Delay_Until_Statement,
-
- -- N_Statement_Other_Than_Procedure_Call
-
- N_Entry_Call_Statement,
- N_Free_Statement,
- N_Goto_Statement,
- N_Loop_Statement,
- N_Null_Statement,
- N_Raise_Statement,
- N_Requeue_Statement,
- N_Simple_Return_Statement,
- N_Extended_Return_Statement,
- N_Selective_Accept,
- N_Timed_Entry_Call,
-
- -- N_Statement_Other_Than_Procedure_Call, N_Has_Condition
-
- N_Exit_Statement,
- N_If_Statement,
-
- -- N_Has_Condition
-
- N_Accept_Alternative,
- N_Delay_Alternative,
- N_Elsif_Part,
- N_Entry_Body_Formal_Part,
- N_Iteration_Scheme,
- N_Terminate_Alternative,
-
- -- N_Formal_Subprogram_Declaration
-
- N_Formal_Abstract_Subprogram_Declaration,
- N_Formal_Concrete_Subprogram_Declaration,
-
- -- N_Push_xxx_Label, N_Push_Pop_xxx_Label
-
- N_Push_Constraint_Error_Label,
- N_Push_Program_Error_Label,
- N_Push_Storage_Error_Label,
-
- -- N_Pop_xxx_Label, N_Push_Pop_xxx_Label
-
- N_Pop_Constraint_Error_Label,
- N_Pop_Program_Error_Label,
- N_Pop_Storage_Error_Label,
-
- -- SCIL nodes
-
- N_SCIL_Dispatch_Table_Tag_Init,
- N_SCIL_Dispatching_Call,
- N_SCIL_Membership_Test,
-
- -- Other nodes (not part of any subtype class)
-
- N_Abortable_Part,
- N_Abstract_Subprogram_Declaration,
- N_Access_Definition,
- N_Access_To_Object_Definition,
- N_Aspect_Specification,
- N_Call_Marker,
- N_Case_Expression_Alternative,
- N_Case_Statement_Alternative,
- N_Compilation_Unit,
- N_Compilation_Unit_Aux,
- N_Component_Association,
- N_Component_Definition,
- N_Component_List,
- N_Contract,
- N_Derived_Type_Definition,
- N_Decimal_Fixed_Point_Definition,
- N_Defining_Program_Unit_Name,
- N_Delta_Constraint,
- N_Designator,
- N_Digits_Constraint,
- N_Discriminant_Association,
- N_Discriminant_Specification,
- N_Enumeration_Type_Definition,
- N_Entry_Body,
- N_Entry_Call_Alternative,
- N_Entry_Index_Specification,
- N_Exception_Declaration,
- N_Exception_Handler,
- N_Floating_Point_Definition,
- N_Formal_Decimal_Fixed_Point_Definition,
- N_Formal_Derived_Type_Definition,
- N_Formal_Discrete_Type_Definition,
- N_Formal_Floating_Point_Definition,
- N_Formal_Modular_Type_Definition,
- N_Formal_Ordinary_Fixed_Point_Definition,
- N_Formal_Package_Declaration,
- N_Formal_Private_Type_Definition,
- N_Formal_Incomplete_Type_Definition,
- N_Formal_Signed_Integer_Type_Definition,
- N_Freeze_Entity,
- N_Freeze_Generic_Entity,
- N_Generic_Association,
- N_Handled_Sequence_Of_Statements,
- N_Index_Or_Discriminant_Constraint,
- N_Iterated_Component_Association,
- N_Iterated_Element_Association,
- N_Itype_Reference,
- N_Label,
- N_Modular_Type_Definition,
- N_Number_Declaration,
- N_Ordinary_Fixed_Point_Definition,
- N_Others_Choice,
- N_Package_Specification,
- N_Parameter_Association,
- N_Parameter_Specification,
- N_Pragma,
- N_Protected_Definition,
- N_Range_Constraint,
- N_Real_Range_Specification,
- N_Record_Definition,
- N_Signed_Integer_Type_Definition,
- N_Single_Protected_Declaration,
- N_Subunit,
- N_Task_Definition,
- N_Triggering_Alternative,
- N_Use_Type_Clause,
- N_Validate_Unchecked_Conversion,
- N_Variable_Reference_Marker,
- N_Variant,
- N_Variant_Part,
- N_With_Clause,
- N_Unused_At_End);
-
- for Node_Kind'Size use 8;
- -- The data structures in Atree assume this
-
- ----------------------------
- -- Node Class Definitions --
- ----------------------------
-
- subtype N_Access_To_Subprogram_Definition is Node_Kind range
- N_Access_Function_Definition ..
- N_Access_Procedure_Definition;
-
- subtype N_Array_Type_Definition is Node_Kind range
- N_Constrained_Array_Definition ..
- N_Unconstrained_Array_Definition;
-
- subtype N_Binary_Op is Node_Kind range
- N_Op_Add ..
- N_Op_Shift_Right_Arithmetic;
-
- subtype N_Body_Stub is Node_Kind range
- N_Package_Body_Stub ..
- N_Task_Body_Stub;
-
- subtype N_Declaration is Node_Kind range
- N_Component_Declaration ..
- N_Procedure_Specification;
- -- Note: this includes all constructs normally thought of as declarations
- -- except those which are separately grouped as later declarations.
-
- subtype N_Delay_Statement is Node_Kind range
- N_Delay_Relative_Statement ..
- N_Delay_Until_Statement;
-
- subtype N_Direct_Name is Node_Kind range
- N_Identifier ..
- N_Character_Literal;
-
- subtype N_Entity is Node_Kind range
- N_Defining_Character_Literal ..
- N_Defining_Operator_Symbol;
-
- subtype N_Formal_Subprogram_Declaration is Node_Kind range
- N_Formal_Abstract_Subprogram_Declaration ..
- N_Formal_Concrete_Subprogram_Declaration;
-
- subtype N_Generic_Declaration is Node_Kind range
- N_Generic_Package_Declaration ..
- N_Generic_Subprogram_Declaration;
-
- subtype N_Generic_Instantiation is Node_Kind range
- N_Function_Instantiation ..
- N_Package_Instantiation;
-
- subtype N_Generic_Renaming_Declaration is Node_Kind range
- N_Generic_Function_Renaming_Declaration ..
- N_Generic_Procedure_Renaming_Declaration;
-
- subtype N_Has_Chars is Node_Kind range
- N_Attribute_Definition_Clause ..
- N_Op_Plus;
-
- subtype N_Has_Entity is Node_Kind range
- N_Expanded_Name ..
- N_Attribute_Reference;
- -- Nodes that have Entity fields
- -- Warning: DOES NOT INCLUDE N_Freeze_Entity, N_Freeze_Generic_Entity,
- -- N_Aspect_Specification, or N_Attribute_Definition_Clause.
-
- subtype N_Has_Etype is Node_Kind range
- N_Error ..
- N_Subtype_Indication;
-
- subtype N_Multiplying_Operator is Node_Kind range
- N_Op_Divide ..
- N_Op_Rem;
-
- subtype N_Later_Decl_Item is Node_Kind range
- N_Task_Type_Declaration ..
- N_Generic_Subprogram_Declaration;
- -- Note: this is Ada 83 relevant only (see Ada 83 RM 3.9 (2)) and includes
- -- only those items which can appear as later declarative items. This also
- -- includes N_Implicit_Label_Declaration which is not specifically in the
- -- grammar but may appear as a valid later declarative items. It does NOT
- -- include N_Pragma which can also appear among later declarative items.
- -- It does however include N_Protected_Body, which is a bit peculiar, but
- -- harmless since this cannot appear in Ada 83 mode anyway.
-
- subtype N_Membership_Test is Node_Kind range
- N_In ..
- N_Not_In;
-
- subtype N_Numeric_Or_String_Literal is Node_Kind range
- N_Integer_Literal ..
- N_String_Literal;
-
- subtype N_Op is Node_Kind range
- N_Op_Add ..
- N_Op_Plus;
-
- subtype N_Op_Boolean is Node_Kind range
- N_Op_And ..
- N_Op_Xor;
- -- Binary operators which take operands of a boolean type, and yield
- -- a result of a boolean type.
-
- subtype N_Op_Compare is Node_Kind range
- N_Op_Eq ..
- N_Op_Ne;
-
- subtype N_Op_Shift is Node_Kind range
- N_Op_Rotate_Left ..
- N_Op_Shift_Right_Arithmetic;
-
- subtype N_Proper_Body is Node_Kind range
- N_Package_Body ..
- N_Task_Body;
-
- subtype N_Push_xxx_Label is Node_Kind range
- N_Push_Constraint_Error_Label ..
- N_Push_Storage_Error_Label;
-
- subtype N_Pop_xxx_Label is Node_Kind range
- N_Pop_Constraint_Error_Label ..
- N_Pop_Storage_Error_Label;
-
- subtype N_Push_Pop_xxx_Label is Node_Kind range
- N_Push_Constraint_Error_Label ..
- N_Pop_Storage_Error_Label;
-
- subtype N_Raise_xxx_Error is Node_Kind range
- N_Raise_Constraint_Error ..
- N_Raise_Storage_Error;
-
- subtype N_Renaming_Declaration is Node_Kind range
- N_Exception_Renaming_Declaration ..
- N_Generic_Procedure_Renaming_Declaration;
-
- subtype N_Representation_Clause is Node_Kind range
- N_At_Clause ..
- N_Attribute_Definition_Clause;
-
- subtype N_Short_Circuit is Node_Kind range
- N_And_Then ..
- N_Or_Else;
-
- subtype N_SCIL_Node is Node_Kind range
- N_SCIL_Dispatch_Table_Tag_Init ..
- N_SCIL_Membership_Test;
-
- subtype N_Statement_Other_Than_Procedure_Call is Node_Kind range
- N_Abort_Statement ..
- N_If_Statement;
- -- Note that this includes all statement types except for the cases of the
- -- N_Procedure_Call_Statement which is considered to be a subexpression
- -- (since overloading is possible, so it needs to go through the normal
- -- overloading resolution for expressions).
-
- subtype N_Subprogram_Call is Node_Kind range
- N_Function_Call ..
- N_Procedure_Call_Statement;
-
- subtype N_Subprogram_Instantiation is Node_Kind range
- N_Function_Instantiation ..
- N_Procedure_Instantiation;
-
- subtype N_Has_Condition is Node_Kind range
- N_Exit_Statement ..
- N_Terminate_Alternative;
- -- Nodes with condition fields (does not include N_Raise_xxx_Error)
-
- subtype N_Subexpr is Node_Kind range
- N_Expanded_Name ..
- N_Unchecked_Type_Conversion;
- -- Nodes with expression fields
-
- subtype N_Subprogram_Specification is Node_Kind range
- N_Function_Specification ..
- N_Procedure_Specification;
-
- subtype N_Unary_Op is Node_Kind range
- N_Op_Abs ..
- N_Op_Plus;
-
- subtype N_Unit_Body is Node_Kind range
- N_Package_Body ..
- N_Subprogram_Body;
-
- ---------------------------
- -- Node Access Functions --
- ---------------------------
-
- -- The following functions return the contents of the indicated field of
- -- the node referenced by the argument, which is a Node_Id. They provide
- -- logical access to fields in the node which could be accessed using the
- -- Atree.Unchecked_Access package, but the idea is always to use these
- -- higher level routines which preserve strong typing. In debug mode,
- -- these routines check that they are being applied to an appropriate
- -- node, as well as checking that the node is in range.
-
- function Abort_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Abortable_Part
- (N : Node_Id) return Node_Id; -- Node2
-
- function Abstract_Present
- (N : Node_Id) return Boolean; -- Flag4
-
- function Accept_Handler_Records
- (N : Node_Id) return List_Id; -- List5
-
- function Accept_Statement
- (N : Node_Id) return Node_Id; -- Node2
-
- function Access_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Access_To_Subprogram_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Access_Types_To_Process
- (N : Node_Id) return Elist_Id; -- Elist2
-
- function Actions
- (N : Node_Id) return List_Id; -- List1
-
- function Activation_Chain_Entity
- (N : Node_Id) return Node_Id; -- Node3
-
- function Acts_As_Spec
- (N : Node_Id) return Boolean; -- Flag4
-
- function Actual_Designated_Subtype
- (N : Node_Id) return Node_Id; -- Node4
-
- function Address_Warning_Posted
- (N : Node_Id) return Boolean; -- Flag18
-
- function Aggregate_Bounds
- (N : Node_Id) return Node_Id; -- Node3
-
- function Aliased_Present
- (N : Node_Id) return Boolean; -- Flag4
-
- function Alloc_For_BIP_Return
- (N : Node_Id) return Boolean; -- Flag1
-
- function All_Others
- (N : Node_Id) return Boolean; -- Flag11
-
- function All_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Alternatives
- (N : Node_Id) return List_Id; -- List4
-
- function Ancestor_Part
- (N : Node_Id) return Node_Id; -- Node3
-
- function Atomic_Sync_Required
- (N : Node_Id) return Boolean; -- Flag14
-
- function Array_Aggregate
- (N : Node_Id) return Node_Id; -- Node3
-
- function Aspect_On_Partial_View
- (N : Node_Id) return Boolean; -- Flag18
-
- function Aspect_Rep_Item
- (N : Node_Id) return Node_Id; -- Node2
-
- function Assignment_OK
- (N : Node_Id) return Boolean; -- Flag15
-
- function Associated_Node
- (N : Node_Id) return Node_Id; -- Node4
-
- function At_End_Proc
- (N : Node_Id) return Node_Id; -- Node1
-
- function Attribute_Name
- (N : Node_Id) return Name_Id; -- Name2
-
- function Aux_Decls_Node
- (N : Node_Id) return Node_Id; -- Node5
-
- function Backwards_OK
- (N : Node_Id) return Boolean; -- Flag6
-
- function Bad_Is_Detected
- (N : Node_Id) return Boolean; -- Flag15
-
- function By_Ref
- (N : Node_Id) return Boolean; -- Flag5
-
- function Body_Required
- (N : Node_Id) return Boolean; -- Flag13
-
- function Body_To_Inline
- (N : Node_Id) return Node_Id; -- Node3
-
- function Box_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Char_Literal_Value
- (N : Node_Id) return Uint; -- Uint2
-
- function Chars
- (N : Node_Id) return Name_Id; -- Name1
-
- function Check_Address_Alignment
- (N : Node_Id) return Boolean; -- Flag11
-
- function Choice_Parameter
- (N : Node_Id) return Node_Id; -- Node2
-
- function Choices
- (N : Node_Id) return List_Id; -- List1
-
- function Class_Present
- (N : Node_Id) return Boolean; -- Flag6
-
- function Classifications
- (N : Node_Id) return Node_Id; -- Node3
-
- function Cleanup_Actions
- (N : Node_Id) return List_Id; -- List5
-
- function Comes_From_Extended_Return_Statement
- (N : Node_Id) return Boolean; -- Flag18
-
- function Compile_Time_Known_Aggregate
- (N : Node_Id) return Boolean; -- Flag18
-
- function Component_Associations
- (N : Node_Id) return List_Id; -- List2
-
- function Component_Clauses
- (N : Node_Id) return List_Id; -- List3
-
- function Component_Definition
- (N : Node_Id) return Node_Id; -- Node4
-
- function Component_Items
- (N : Node_Id) return List_Id; -- List3
-
- function Component_List
- (N : Node_Id) return Node_Id; -- Node1
-
- function Component_Name
- (N : Node_Id) return Node_Id; -- Node1
-
- function Componentwise_Assignment
- (N : Node_Id) return Boolean; -- Flag14
-
- function Condition
- (N : Node_Id) return Node_Id; -- Node1
-
- function Condition_Actions
- (N : Node_Id) return List_Id; -- List3
-
- function Config_Pragmas
- (N : Node_Id) return List_Id; -- List4
-
- function Constant_Present
- (N : Node_Id) return Boolean; -- Flag17
-
- function Constraint
- (N : Node_Id) return Node_Id; -- Node3
-
- function Constraints
- (N : Node_Id) return List_Id; -- List1
-
- function Context_Installed
- (N : Node_Id) return Boolean; -- Flag13
-
- function Context_Pending
- (N : Node_Id) return Boolean; -- Flag16
-
- function Context_Items
- (N : Node_Id) return List_Id; -- List1
-
- function Contract_Test_Cases
- (N : Node_Id) return Node_Id; -- Node2
-
- function Controlling_Argument
- (N : Node_Id) return Node_Id; -- Node1
-
- function Conversion_OK
- (N : Node_Id) return Boolean; -- Flag14
-
- function Convert_To_Return_False
- (N : Node_Id) return Boolean; -- Flag13
-
- function Corresponding_Aspect
- (N : Node_Id) return Node_Id; -- Node3
-
- function Corresponding_Body
- (N : Node_Id) return Node_Id; -- Node5
-
- function Corresponding_Formal_Spec
- (N : Node_Id) return Node_Id; -- Node3
-
- function Corresponding_Generic_Association
- (N : Node_Id) return Node_Id; -- Node5
-
- function Corresponding_Integer_Value
- (N : Node_Id) return Uint; -- Uint4
-
- function Corresponding_Spec
- (N : Node_Id) return Entity_Id; -- Node5
-
- function Corresponding_Spec_Of_Stub
- (N : Node_Id) return Node_Id; -- Node2
-
- function Corresponding_Stub
- (N : Node_Id) return Node_Id; -- Node3
-
- function Dcheck_Function
- (N : Node_Id) return Entity_Id; -- Node5
-
- function Declarations
- (N : Node_Id) return List_Id; -- List2
-
- function Default_Expression
- (N : Node_Id) return Node_Id; -- Node5
-
- function Default_Storage_Pool
- (N : Node_Id) return Node_Id; -- Node3
-
- function Default_Name
- (N : Node_Id) return Node_Id; -- Node2
-
- function Defining_Identifier
- (N : Node_Id) return Entity_Id; -- Node1
-
- function Defining_Unit_Name
- (N : Node_Id) return Node_Id; -- Node1
-
- function Delay_Alternative
- (N : Node_Id) return Node_Id; -- Node4
-
- function Delay_Statement
- (N : Node_Id) return Node_Id; -- Node2
-
- function Delta_Expression
- (N : Node_Id) return Node_Id; -- Node3
-
- function Digits_Expression
- (N : Node_Id) return Node_Id; -- Node2
-
- function Discr_Check_Funcs_Built
- (N : Node_Id) return Boolean; -- Flag11
-
- function Discrete_Choices
- (N : Node_Id) return List_Id; -- List4
-
- function Discrete_Range
- (N : Node_Id) return Node_Id; -- Node4
-
- function Discrete_Subtype_Definition
- (N : Node_Id) return Node_Id; -- Node4
-
- function Discrete_Subtype_Definitions
- (N : Node_Id) return List_Id; -- List2
-
- function Discriminant_Specifications
- (N : Node_Id) return List_Id; -- List4
-
- function Discriminant_Type
- (N : Node_Id) return Node_Id; -- Node5
-
- function Do_Accessibility_Check
- (N : Node_Id) return Boolean; -- Flag13
-
- function Do_Discriminant_Check
- (N : Node_Id) return Boolean; -- Flag3
-
- function Do_Division_Check
- (N : Node_Id) return Boolean; -- Flag13
-
- function Do_Length_Check
- (N : Node_Id) return Boolean; -- Flag4
-
- function Do_Overflow_Check
- (N : Node_Id) return Boolean; -- Flag17
-
- function Do_Range_Check
- (N : Node_Id) return Boolean; -- Flag9
-
- function Do_Storage_Check
- (N : Node_Id) return Boolean; -- Flag17
-
- function Do_Tag_Check
- (N : Node_Id) return Boolean; -- Flag13
-
- function Elaborate_All_Desirable
- (N : Node_Id) return Boolean; -- Flag9
-
- function Elaborate_All_Present
- (N : Node_Id) return Boolean; -- Flag14
-
- function Elaborate_Desirable
- (N : Node_Id) return Boolean; -- Flag11
-
- function Elaborate_Present
- (N : Node_Id) return Boolean; -- Flag4
-
- function Else_Actions
- (N : Node_Id) return List_Id; -- List3
-
- function Else_Statements
- (N : Node_Id) return List_Id; -- List4
-
- function Elsif_Parts
- (N : Node_Id) return List_Id; -- List3
-
- function Enclosing_Variant
- (N : Node_Id) return Node_Id; -- Node2
-
- function End_Label
- (N : Node_Id) return Node_Id; -- Node4
-
- function End_Span
- (N : Node_Id) return Uint; -- Uint5
-
- function Entity
- (N : Node_Id) return Node_Id; -- Node4
-
- function Entity_Or_Associated_Node
- (N : Node_Id) return Node_Id; -- Node4
-
- function Entry_Body_Formal_Part
- (N : Node_Id) return Node_Id; -- Node5
-
- function Entry_Call_Alternative
- (N : Node_Id) return Node_Id; -- Node1
-
- function Entry_Call_Statement
- (N : Node_Id) return Node_Id; -- Node1
-
- function Entry_Direct_Name
- (N : Node_Id) return Node_Id; -- Node1
-
- function Entry_Index
- (N : Node_Id) return Node_Id; -- Node5
-
- function Entry_Index_Specification
- (N : Node_Id) return Node_Id; -- Node4
-
- function Etype
- (N : Node_Id) return Node_Id; -- Node5
-
- function Exception_Choices
- (N : Node_Id) return List_Id; -- List4
-
- function Exception_Handlers
- (N : Node_Id) return List_Id; -- List5
-
- function Exception_Junk
- (N : Node_Id) return Boolean; -- Flag8
-
- function Exception_Label
- (N : Node_Id) return Node_Id; -- Node5
-
- function Explicit_Actual_Parameter
- (N : Node_Id) return Node_Id; -- Node3
-
- function Expansion_Delayed
- (N : Node_Id) return Boolean; -- Flag11
-
- function Explicit_Generic_Actual_Parameter
- (N : Node_Id) return Node_Id; -- Node1
-
- function Expression
- (N : Node_Id) return Node_Id; -- Node3
-
- function Expression_Copy
- (N : Node_Id) return Node_Id; -- Node2
-
- function Expressions
- (N : Node_Id) return List_Id; -- List1
-
- function First_Bit
- (N : Node_Id) return Node_Id; -- Node3
-
- function First_Inlined_Subprogram
- (N : Node_Id) return Entity_Id; -- Node3
-
- function First_Name
- (N : Node_Id) return Boolean; -- Flag5
-
- function First_Named_Actual
- (N : Node_Id) return Node_Id; -- Node4
-
- function First_Real_Statement
- (N : Node_Id) return Node_Id; -- Node2
-
- function First_Subtype_Link
- (N : Node_Id) return Entity_Id; -- Node5
-
- function Float_Truncate
- (N : Node_Id) return Boolean; -- Flag11
-
- function Formal_Type_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Forwards_OK
- (N : Node_Id) return Boolean; -- Flag5
-
- function From_Aspect_Specification
- (N : Node_Id) return Boolean; -- Flag13
-
- function From_At_End
- (N : Node_Id) return Boolean; -- Flag4
-
- function From_At_Mod
- (N : Node_Id) return Boolean; -- Flag4
-
- function From_Conditional_Expression
- (N : Node_Id) return Boolean; -- Flag1
-
- function From_Default
- (N : Node_Id) return Boolean; -- Flag6
-
- function Generalized_Indexing
- (N : Node_Id) return Node_Id; -- Node4
-
- function Generic_Associations
- (N : Node_Id) return List_Id; -- List3
-
- function Generic_Formal_Declarations
- (N : Node_Id) return List_Id; -- List2
-
- function Generic_Parent
- (N : Node_Id) return Node_Id; -- Node5
-
- function Generic_Parent_Type
- (N : Node_Id) return Node_Id; -- Node4
-
- function Handled_Statement_Sequence
- (N : Node_Id) return Node_Id; -- Node4
-
- function Handler_List_Entry
- (N : Node_Id) return Node_Id; -- Node2
-
- function Has_Created_Identifier
- (N : Node_Id) return Boolean; -- Flag15
-
- function Has_Dereference_Action
- (N : Node_Id) return Boolean; -- Flag13
-
- function Has_Dynamic_Length_Check
- (N : Node_Id) return Boolean; -- Flag10
-
- function Has_Init_Expression
- (N : Node_Id) return Boolean; -- Flag14
-
- function Has_Local_Raise
- (N : Node_Id) return Boolean; -- Flag8
-
- function Has_No_Elaboration_Code
- (N : Node_Id) return Boolean; -- Flag17
-
- function Has_Pragma_Suppress_All
- (N : Node_Id) return Boolean; -- Flag14
-
- function Has_Private_View
- (N : Node_Id) return Boolean; -- Flag11
-
- function Has_Relative_Deadline_Pragma
- (N : Node_Id) return Boolean; -- Flag9
-
- function Has_Self_Reference
- (N : Node_Id) return Boolean; -- Flag13
-
- function Has_SP_Choice
- (N : Node_Id) return Boolean; -- Flag15
-
- function Has_Storage_Size_Pragma
- (N : Node_Id) return Boolean; -- Flag5
-
- function Has_Target_Names
- (N : Node_Id) return Boolean; -- Flag8
-
- function Has_Wide_Character
- (N : Node_Id) return Boolean; -- Flag11
-
- function Has_Wide_Wide_Character
- (N : Node_Id) return Boolean; -- Flag13
-
- function Header_Size_Added
- (N : Node_Id) return Boolean; -- Flag11
-
- function Hidden_By_Use_Clause
- (N : Node_Id) return Elist_Id; -- Elist5
-
- function High_Bound
- (N : Node_Id) return Node_Id; -- Node2
-
- function Identifier
- (N : Node_Id) return Node_Id; -- Node1
-
- function Interface_List
- (N : Node_Id) return List_Id; -- List2
-
- function Interface_Present
- (N : Node_Id) return Boolean; -- Flag16
-
- function Implicit_With
- (N : Node_Id) return Boolean; -- Flag16
-
- function Import_Interface_Present
- (N : Node_Id) return Boolean; -- Flag16
-
- function In_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Includes_Infinities
- (N : Node_Id) return Boolean; -- Flag11
-
- function Incomplete_View
- (N : Node_Id) return Node_Id; -- Node2
-
- function Inherited_Discriminant
- (N : Node_Id) return Boolean; -- Flag13
-
- function Instance_Spec
- (N : Node_Id) return Node_Id; -- Node5
-
- 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
-
- function Is_Analyzed_Pragma
- (N : Node_Id) return Boolean; -- Flag5
-
- function Is_Asynchronous_Call_Block
- (N : Node_Id) return Boolean; -- Flag7
-
- function Is_Boolean_Aspect
- (N : Node_Id) return Boolean; -- Flag16
-
- function Is_Checked
- (N : Node_Id) return Boolean; -- Flag11
-
- function Is_Checked_Ghost_Pragma
- (N : Node_Id) return Boolean; -- Flag3
-
- function Is_Component_Left_Opnd
- (N : Node_Id) return Boolean; -- Flag13
-
- function Is_Component_Right_Opnd
- (N : Node_Id) return Boolean; -- Flag14
-
- function Is_Controlling_Actual
- (N : Node_Id) return Boolean; -- Flag16
-
- function Is_Declaration_Level_Node
- (N : Node_Id) return Boolean; -- Flag5
-
- function Is_Delayed_Aspect
- (N : Node_Id) return Boolean; -- Flag14
-
- function Is_Disabled
- (N : Node_Id) return Boolean; -- Flag15
-
- function Is_Dispatching_Call
- (N : Node_Id) return Boolean; -- Flag6
-
- function Is_Dynamic_Coextension
- (N : Node_Id) return Boolean; -- Flag18
-
- function Is_Effective_Use_Clause
- (N : Node_Id) return Boolean; -- Flag1
-
- function Is_Elaboration_Checks_OK_Node
- (N : Node_Id) return Boolean; -- Flag1
-
- function Is_Elaboration_Code
- (N : Node_Id) return Boolean; -- Flag9
-
- function Is_Elaboration_Warnings_OK_Node
- (N : Node_Id) return Boolean; -- Flag3
-
- function Is_Elsif
- (N : Node_Id) return Boolean; -- Flag13
-
- function Is_Entry_Barrier_Function
- (N : Node_Id) return Boolean; -- Flag8
-
- function Is_Expanded_Build_In_Place_Call
- (N : Node_Id) return Boolean; -- Flag11
-
- function Is_Expanded_Contract
- (N : Node_Id) return Boolean; -- Flag1
-
- function Is_Finalization_Wrapper
- (N : Node_Id) return Boolean; -- Flag9
-
- function Is_Folded_In_Parser
- (N : Node_Id) return Boolean; -- Flag4
-
- function Is_Generic_Contract_Pragma
- (N : Node_Id) return Boolean; -- Flag2
-
- function Is_Homogeneous_Aggregate
- (N : Node_Id) return Boolean; -- Flag14
-
- function Is_Ignored
- (N : Node_Id) return Boolean; -- Flag9
-
- function Is_Ignored_Ghost_Pragma
- (N : Node_Id) return Boolean; -- Flag8
-
- function Is_In_Discriminant_Check
- (N : Node_Id) return Boolean; -- Flag11
-
- function Is_Inherited_Pragma
- (N : Node_Id) return Boolean; -- Flag4
-
- function Is_Initialization_Block
- (N : Node_Id) return Boolean; -- Flag1
-
- function Is_Known_Guaranteed_ABE
- (N : Node_Id) return Boolean; -- Flag18
-
- function Is_Machine_Number
- (N : Node_Id) return Boolean; -- Flag11
-
- function Is_Null_Loop
- (N : Node_Id) return Boolean; -- Flag16
-
- function Is_Overloaded
- (N : Node_Id) return Boolean; -- Flag5
-
- function Is_Power_Of_2_For_Shift
- (N : Node_Id) return Boolean; -- Flag13
-
- function Is_Preelaborable_Call
- (N : Node_Id) return Boolean; -- Flag7
-
- function Is_Prefixed_Call
- (N : Node_Id) return Boolean; -- Flag17
-
- function Is_Protected_Subprogram_Body
- (N : Node_Id) return Boolean; -- Flag7
-
- function Is_Qualified_Universal_Literal
- (N : Node_Id) return Boolean; -- Flag4
-
- function Is_Read
- (N : Node_Id) return Boolean; -- Flag4
-
- function Is_Source_Call
- (N : Node_Id) return Boolean; -- Flag4
-
- function Is_SPARK_Mode_On_Node
- (N : Node_Id) return Boolean; -- Flag2
-
- function Is_Static_Coextension
- (N : Node_Id) return Boolean; -- Flag14
-
- function Is_Static_Expression
- (N : Node_Id) return Boolean; -- Flag6
-
- function Is_Subprogram_Descriptor
- (N : Node_Id) return Boolean; -- Flag16
-
- function Is_Task_Allocation_Block
- (N : Node_Id) return Boolean; -- Flag6
-
- function Is_Task_Body_Procedure
- (N : Node_Id) return Boolean; -- Flag1
-
- function Is_Task_Master
- (N : Node_Id) return Boolean; -- Flag5
-
- function Is_Write
- (N : Node_Id) return Boolean; -- Flag5
-
- function Iteration_Scheme
- (N : Node_Id) return Node_Id; -- Node2
-
- function Iterator_Filter
- (N : Node_Id) return Node_Id; -- Node3
-
- function Iterator_Specification
- (N : Node_Id) return Node_Id; -- Node2
-
- function Itype
- (N : Node_Id) return Entity_Id; -- Node1
-
- function Key_Expression
- (N : Node_Id) return Node_Id; -- Node1
-
- function Kill_Range_Check
- (N : Node_Id) return Boolean; -- Flag11
-
- function Label_Construct
- (N : Node_Id) return Node_Id; -- Node2
-
- function Left_Opnd
- (N : Node_Id) return Node_Id; -- Node2
-
- function Last_Bit
- (N : Node_Id) return Node_Id; -- Node4
-
- function Last_Name
- (N : Node_Id) return Boolean; -- Flag6
-
- function Library_Unit
- (N : Node_Id) return Node_Id; -- Node4
-
- function Limited_View_Installed
- (N : Node_Id) return Boolean; -- Flag18
-
- function Limited_Present
- (N : Node_Id) return Boolean; -- Flag17
-
- function Literals
- (N : Node_Id) return List_Id; -- List1
-
- function Local_Raise_Not_OK
- (N : Node_Id) return Boolean; -- Flag7
-
- function Local_Raise_Statements
- (N : Node_Id) return Elist_Id; -- Elist1
-
- function Loop_Actions
- (N : Node_Id) return List_Id; -- List5
-
- function Loop_Parameter_Specification
- (N : Node_Id) return Node_Id; -- Node4
-
- function Low_Bound
- (N : Node_Id) return Node_Id; -- Node1
-
- function Mod_Clause
- (N : Node_Id) return Node_Id; -- Node2
-
- function More_Ids
- (N : Node_Id) return Boolean; -- Flag5
-
- function Must_Be_Byte_Aligned
- (N : Node_Id) return Boolean; -- Flag14
-
- function Must_Not_Freeze
- (N : Node_Id) return Boolean; -- Flag8
-
- function Must_Not_Override
- (N : Node_Id) return Boolean; -- Flag15
-
- function Must_Override
- (N : Node_Id) return Boolean; -- Flag14
-
- function Name
- (N : Node_Id) return Node_Id; -- Node2
-
- function Names
- (N : Node_Id) return List_Id; -- List2
-
- function Next_Entity
- (N : Node_Id) return Node_Id; -- Node2
-
- function Next_Exit_Statement
- (N : Node_Id) return Node_Id; -- Node3
-
- function Next_Implicit_With
- (N : Node_Id) return Node_Id; -- Node3
-
- function Next_Named_Actual
- (N : Node_Id) return Node_Id; -- Node4
-
- function Next_Pragma
- (N : Node_Id) return Node_Id; -- Node1
-
- function Next_Rep_Item
- (N : Node_Id) return Node_Id; -- Node5
-
- function Next_Use_Clause
- (N : Node_Id) return Node_Id; -- Node3
-
- function No_Ctrl_Actions
- (N : Node_Id) return Boolean; -- Flag7
-
- function No_Elaboration_Check
- (N : Node_Id) return Boolean; -- Flag4
-
- function No_Entities_Ref_In_Spec
- (N : Node_Id) return Boolean; -- Flag8
-
- function No_Initialization
- (N : Node_Id) return Boolean; -- Flag13
-
- function No_Minimize_Eliminate
- (N : Node_Id) return Boolean; -- Flag17
-
- function No_Side_Effect_Removal
- (N : Node_Id) return Boolean; -- Flag17
-
- function No_Truncation
- (N : Node_Id) return Boolean; -- Flag17
-
- function Null_Excluding_Subtype
- (N : Node_Id) return Boolean; -- Flag16
-
- function Null_Exclusion_Present
- (N : Node_Id) return Boolean; -- Flag11
-
- function Null_Exclusion_In_Return_Present
- (N : Node_Id) return Boolean; -- Flag14
-
- function Null_Present
- (N : Node_Id) return Boolean; -- Flag13
-
- function Null_Record_Present
- (N : Node_Id) return Boolean; -- Flag17
-
- function Null_Statement
- (N : Node_Id) return Node_Id; -- Node2
-
- function Object_Definition
- (N : Node_Id) return Node_Id; -- Node4
-
- function Of_Present
- (N : Node_Id) return Boolean; -- Flag16
-
- function Original_Discriminant
- (N : Node_Id) return Node_Id; -- Node2
-
- function Original_Entity
- (N : Node_Id) return Entity_Id; -- Node2
-
- function Others_Discrete_Choices
- (N : Node_Id) return List_Id; -- List1
-
- function Out_Present
- (N : Node_Id) return Boolean; -- Flag17
-
- function Parameter_Associations
- (N : Node_Id) return List_Id; -- List3
-
- function Parameter_Specifications
- (N : Node_Id) return List_Id; -- List3
-
- function Parameter_Type
- (N : Node_Id) return Node_Id; -- Node2
-
- function Parent_Spec
- (N : Node_Id) return Node_Id; -- Node4
-
- function Parent_With
- (N : Node_Id) return Boolean; -- Flag1
-
- function Position
- (N : Node_Id) return Node_Id; -- Node2
-
- function Pragma_Argument_Associations
- (N : Node_Id) return List_Id; -- List2
-
- function Pragma_Identifier
- (N : Node_Id) return Node_Id; -- Node4
-
- function Pragmas_After
- (N : Node_Id) return List_Id; -- List5
-
- function Pragmas_Before
- (N : Node_Id) return List_Id; -- List4
-
- function Pre_Post_Conditions
- (N : Node_Id) return Node_Id; -- Node1
-
- function Prefix
- (N : Node_Id) return Node_Id; -- Node3
-
- function Premature_Use
- (N : Node_Id) return Node_Id; -- Node5
-
- function Present_Expr
- (N : Node_Id) return Uint; -- Uint3
-
- function Prev_Ids
- (N : Node_Id) return Boolean; -- Flag6
-
- function Prev_Use_Clause
- (N : Node_Id) return Node_Id; -- Node1
-
- function Print_In_Hex
- (N : Node_Id) return Boolean; -- Flag13
-
- function Private_Declarations
- (N : Node_Id) return List_Id; -- List3
-
- function Private_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Procedure_To_Call
- (N : Node_Id) return Node_Id; -- Node2
-
- function Proper_Body
- (N : Node_Id) return Node_Id; -- Node1
-
- function Protected_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Protected_Present
- (N : Node_Id) return Boolean; -- Flag6
-
- function Raises_Constraint_Error
- (N : Node_Id) return Boolean; -- Flag7
-
- function Range_Constraint
- (N : Node_Id) return Node_Id; -- Node4
-
- function Range_Expression
- (N : Node_Id) return Node_Id; -- Node4
-
- function Real_Range_Specification
- (N : Node_Id) return Node_Id; -- Node4
-
- function Realval
- (N : Node_Id) return Ureal; -- Ureal3
-
- function Reason
- (N : Node_Id) return Uint; -- Uint3
-
- function Record_Extension_Part
- (N : Node_Id) return Node_Id; -- Node3
-
- function Redundant_Use
- (N : Node_Id) return Boolean; -- Flag13
-
- function Renaming_Exception
- (N : Node_Id) return Node_Id; -- Node2
-
- function Result_Definition
- (N : Node_Id) return Node_Id; -- Node4
-
- function Return_Object_Declarations
- (N : Node_Id) return List_Id; -- List3
-
- function Return_Statement_Entity
- (N : Node_Id) return Node_Id; -- Node5
-
- function Reverse_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Right_Opnd
- (N : Node_Id) return Node_Id; -- Node3
-
- function Rounded_Result
- (N : Node_Id) return Boolean; -- Flag18
-
- function Save_Invocation_Graph_Of_Body
- (N : Node_Id) return Boolean; -- Flag1
-
- function SCIL_Controlling_Tag
- (N : Node_Id) return Node_Id; -- Node5
-
- function SCIL_Entity
- (N : Node_Id) return Node_Id; -- Node4
-
- function SCIL_Tag_Value
- (N : Node_Id) return Node_Id; -- Node5
-
- function SCIL_Target_Prim
- (N : Node_Id) return Node_Id; -- Node2
-
- function Scope
- (N : Node_Id) return Node_Id; -- Node3
-
- function Select_Alternatives
- (N : Node_Id) return List_Id; -- List1
-
- function Selector_Name
- (N : Node_Id) return Node_Id; -- Node2
-
- function Selector_Names
- (N : Node_Id) return List_Id; -- List1
-
- function Shift_Count_OK
- (N : Node_Id) return Boolean; -- Flag4
-
- function Source_Type
- (N : Node_Id) return Entity_Id; -- Node1
-
- function Specification
- (N : Node_Id) return Node_Id; -- Node1
-
- function Split_PPC
- (N : Node_Id) return Boolean; -- Flag17
-
- function Statements
- (N : Node_Id) return List_Id; -- List3
-
- function Storage_Pool
- (N : Node_Id) return Node_Id; -- Node1
-
- function Subpool_Handle_Name
- (N : Node_Id) return Node_Id; -- Node4
-
- function Strval
- (N : Node_Id) return String_Id; -- Str3
-
- function Subtype_Indication
- (N : Node_Id) return Node_Id; -- Node5
-
- function Subtype_Mark
- (N : Node_Id) return Node_Id; -- Node4
-
- function Subtype_Marks
- (N : Node_Id) return List_Id; -- List2
-
- function Suppress_Assignment_Checks
- (N : Node_Id) return Boolean; -- Flag18
-
- function Suppress_Loop_Warnings
- (N : Node_Id) return Boolean; -- Flag17
-
- function Synchronized_Present
- (N : Node_Id) return Boolean; -- Flag7
-
- function Tagged_Present
- (N : Node_Id) return Boolean; -- Flag15
-
- function Target
- (N : Node_Id) return Entity_Id; -- Node1
-
- function Target_Type
- (N : Node_Id) return Entity_Id; -- Node2
-
- function Task_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Task_Present
- (N : Node_Id) return Boolean; -- Flag5
-
- function Then_Actions
- (N : Node_Id) return List_Id; -- List2
-
- function Then_Statements
- (N : Node_Id) return List_Id; -- List2
-
- function Triggering_Alternative
- (N : Node_Id) return Node_Id; -- Node1
-
- function Triggering_Statement
- (N : Node_Id) return Node_Id; -- Node1
-
- function TSS_Elist
- (N : Node_Id) return Elist_Id; -- Elist3
-
- function Type_Definition
- (N : Node_Id) return Node_Id; -- Node3
-
- function Uneval_Old_Accept
- (N : Node_Id) return Boolean; -- Flag7
-
- function Uneval_Old_Warn
- (N : Node_Id) return Boolean; -- Flag18
-
- function Unit
- (N : Node_Id) return Node_Id; -- Node2
-
- function Unknown_Discriminants_Present
- (N : Node_Id) return Boolean; -- Flag13
-
- function Unreferenced_In_Spec
- (N : Node_Id) return Boolean; -- Flag7
-
- function Variant_Part
- (N : Node_Id) return Node_Id; -- Node4
-
- function Variants
- (N : Node_Id) return List_Id; -- List1
-
- function Visible_Declarations
- (N : Node_Id) return List_Id; -- List2
-
- function Uninitialized_Variable
- (N : Node_Id) return Node_Id; -- Node3
-
- function Used_Operations
- (N : Node_Id) return Elist_Id; -- Elist2
-
- function Was_Attribute_Reference
- (N : Node_Id) return Boolean; -- Flag2
-
- function Was_Default_Init_Box_Association
- (N : Node_Id) return Boolean; -- Flag14
-
- function Was_Expression_Function
- (N : Node_Id) return Boolean; -- Flag18
-
- function Was_Originally_Stub
- (N : Node_Id) return Boolean; -- Flag13
-
- -- End functions (note used by xsinfo utility program to end processing)
-
- ----------------------------
- -- Node Update Procedures --
- ----------------------------
-
- -- These are the corresponding node update routines, which again provide
- -- a high level logical access with type checking. In addition to setting
- -- the indicated field of the node N to the given Val, in the case of
- -- tree pointers (List1-4), the parent pointer of the Val node is set to
- -- point back to node N. This automates the setting of the parent pointer.
-
- -- WARNING: There is a matching C declaration of a few subprograms in fe.h
-
- procedure Set_Abort_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Abortable_Part
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Abstract_Present
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Accept_Handler_Records
- (N : Node_Id; Val : List_Id); -- List5
-
- procedure Set_Accept_Statement
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Access_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Access_To_Subprogram_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Access_Types_To_Process
- (N : Node_Id; Val : Elist_Id); -- Elist2
-
- procedure Set_Actions
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Activation_Chain_Entity
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Acts_As_Spec
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Actual_Designated_Subtype
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Address_Warning_Posted
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Aggregate_Bounds
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Aliased_Present
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Alloc_For_BIP_Return
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_All_Others
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_All_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Alternatives
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Ancestor_Part
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Atomic_Sync_Required
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Array_Aggregate
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Aspect_On_Partial_View
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Aspect_Rep_Item
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Assignment_OK
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Associated_Node
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Attribute_Name
- (N : Node_Id; Val : Name_Id); -- Name2
-
- procedure Set_At_End_Proc
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Aux_Decls_Node
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Backwards_OK
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Bad_Is_Detected
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Body_Required
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Body_To_Inline
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Box_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_By_Ref
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Char_Literal_Value
- (N : Node_Id; Val : Uint); -- Uint2
-
- procedure Set_Chars
- (N : Node_Id; Val : Name_Id); -- Name1
-
- procedure Set_Check_Address_Alignment
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Choice_Parameter
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Choices
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Class_Present
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Classifications
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Cleanup_Actions
- (N : Node_Id; Val : List_Id); -- List5
-
- procedure Set_Comes_From_Extended_Return_Statement
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Compile_Time_Known_Aggregate
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Component_Associations
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Component_Clauses
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Component_Definition
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Component_Items
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Component_List
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Component_Name
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Componentwise_Assignment
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Condition
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Condition_Actions
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Config_Pragmas
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Constant_Present
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Constraint
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Constraints
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Context_Installed
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Context_Items
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Context_Pending
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Contract_Test_Cases
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Controlling_Argument
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Conversion_OK
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Convert_To_Return_False
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Corresponding_Aspect
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Corresponding_Body
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Corresponding_Formal_Spec
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Corresponding_Generic_Association
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Corresponding_Integer_Value
- (N : Node_Id; Val : Uint); -- Uint4
-
- procedure Set_Corresponding_Spec
- (N : Node_Id; Val : Entity_Id); -- Node5
-
- procedure Set_Corresponding_Spec_Of_Stub
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Corresponding_Stub
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Dcheck_Function
- (N : Node_Id; Val : Entity_Id); -- Node5
-
- procedure Set_Declarations
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Default_Expression
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Default_Storage_Pool
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Default_Name
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Defining_Identifier
- (N : Node_Id; Val : Entity_Id); -- Node1
-
- procedure Set_Defining_Unit_Name
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Delay_Alternative
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Delay_Statement
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Delta_Expression
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Digits_Expression
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Discr_Check_Funcs_Built
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Discrete_Choices
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Discrete_Range
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Discrete_Subtype_Definition
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Discrete_Subtype_Definitions
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Discriminant_Specifications
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Discriminant_Type
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Do_Accessibility_Check
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Do_Discriminant_Check
- (N : Node_Id; Val : Boolean := True); -- Flag3
-
- procedure Set_Do_Division_Check
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Do_Length_Check
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Do_Overflow_Check
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Do_Range_Check
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Do_Storage_Check
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Do_Tag_Check
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Elaborate_All_Desirable
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Elaborate_All_Present
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Elaborate_Desirable
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Elaborate_Present
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Else_Actions
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Else_Statements
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Elsif_Parts
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Enclosing_Variant
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_End_Label
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_End_Span
- (N : Node_Id; Val : Uint); -- Uint5
-
- procedure Set_Entity
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Entry_Body_Formal_Part
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Entry_Call_Alternative
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Entry_Call_Statement
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Entry_Direct_Name
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Entry_Index
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Entry_Index_Specification
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Etype
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Exception_Choices
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Exception_Handlers
- (N : Node_Id; Val : List_Id); -- List5
-
- procedure Set_Exception_Junk
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Exception_Label
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Expansion_Delayed
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Explicit_Actual_Parameter
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Explicit_Generic_Actual_Parameter
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Expression
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Expression_Copy
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Expressions
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_First_Bit
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_First_Inlined_Subprogram
- (N : Node_Id; Val : Entity_Id); -- Node3
-
- procedure Set_First_Name
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_First_Named_Actual
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_First_Real_Statement
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_First_Subtype_Link
- (N : Node_Id; Val : Entity_Id); -- Node5
-
- procedure Set_Float_Truncate
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Formal_Type_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Forwards_OK
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_From_Aspect_Specification
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_From_At_End
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_From_At_Mod
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_From_Conditional_Expression
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_From_Default
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Generalized_Indexing
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Generic_Associations
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Generic_Formal_Declarations
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Generic_Parent
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Generic_Parent_Type
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Handled_Statement_Sequence
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Handler_List_Entry
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Has_Created_Identifier
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Has_Dereference_Action
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Has_Dynamic_Length_Check
- (N : Node_Id; Val : Boolean := True); -- Flag10
-
- procedure Set_Has_Init_Expression
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Has_Local_Raise
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Has_No_Elaboration_Code
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Has_Pragma_Suppress_All
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Has_Private_View
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Has_Relative_Deadline_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Has_Self_Reference
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Has_SP_Choice
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Has_Storage_Size_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Has_Target_Names
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Has_Wide_Character
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Has_Wide_Wide_Character
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Header_Size_Added
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Hidden_By_Use_Clause
- (N : Node_Id; Val : Elist_Id); -- Elist5
-
- procedure Set_High_Bound
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Identifier
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Interface_List
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Interface_Present
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Implicit_With
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Import_Interface_Present
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_In_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Includes_Infinities
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Incomplete_View
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Inherited_Discriminant
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Instance_Spec
- (N : Node_Id; Val : Node_Id); -- Node5
-
- 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
-
- procedure Set_Is_Analyzed_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Is_Asynchronous_Call_Block
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Is_Boolean_Aspect
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Is_Checked
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Is_Checked_Ghost_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag3
-
- procedure Set_Is_Component_Left_Opnd
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Is_Component_Right_Opnd
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Is_Controlling_Actual
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Is_Declaration_Level_Node
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Is_Delayed_Aspect
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Is_Disabled
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Is_Dispatching_Call
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Is_Dynamic_Coextension
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Is_Effective_Use_Clause
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Is_Elaboration_Checks_OK_Node
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Is_Elaboration_Code
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Is_Elaboration_Warnings_OK_Node
- (N : Node_Id; Val : Boolean := True); -- Flag3
-
- procedure Set_Is_Elsif
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Is_Entry_Barrier_Function
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Is_Expanded_Build_In_Place_Call
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Is_Expanded_Contract
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Is_Finalization_Wrapper
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Is_Folded_In_Parser
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Is_Generic_Contract_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag2
-
- procedure Set_Is_Homogeneous_Aggregate
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Is_Ignored
- (N : Node_Id; Val : Boolean := True); -- Flag9
-
- procedure Set_Is_Ignored_Ghost_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Is_In_Discriminant_Check
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Is_Inherited_Pragma
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Is_Initialization_Block
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Is_Known_Guaranteed_ABE
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Is_Machine_Number
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Is_Null_Loop
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Is_Overloaded
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Is_Power_Of_2_For_Shift
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Is_Preelaborable_Call
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Is_Prefixed_Call
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Is_Protected_Subprogram_Body
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Is_Qualified_Universal_Literal
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Is_Read
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Is_Source_Call
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Is_SPARK_Mode_On_Node
- (N : Node_Id; Val : Boolean := True); -- Flag2
-
- procedure Set_Is_Static_Coextension
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Is_Static_Expression
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Is_Subprogram_Descriptor
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Is_Task_Allocation_Block
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Is_Task_Body_Procedure
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Is_Task_Master
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Is_Write
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Iterator_Filter
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Iteration_Scheme
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Iterator_Specification
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Itype
- (N : Node_Id; Val : Entity_Id); -- Node1
-
- procedure Set_Key_Expression
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Kill_Range_Check
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Last_Bit
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Last_Name
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Library_Unit
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Label_Construct
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Left_Opnd
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Limited_View_Installed
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Limited_Present
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Literals
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Local_Raise_Not_OK
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Local_Raise_Statements
- (N : Node_Id; Val : Elist_Id); -- Elist1
-
- procedure Set_Loop_Actions
- (N : Node_Id; Val : List_Id); -- List5
-
- procedure Set_Loop_Parameter_Specification
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Low_Bound
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Mod_Clause
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_More_Ids
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Must_Be_Byte_Aligned
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Must_Not_Freeze
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_Must_Not_Override
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Must_Override
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Name
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Names
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Next_Entity
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Next_Exit_Statement
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Next_Implicit_With
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Next_Named_Actual
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Next_Pragma
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Next_Rep_Item
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Next_Use_Clause
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_No_Ctrl_Actions
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_No_Elaboration_Check
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_No_Entities_Ref_In_Spec
- (N : Node_Id; Val : Boolean := True); -- Flag8
-
- procedure Set_No_Initialization
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_No_Minimize_Eliminate
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_No_Side_Effect_Removal
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_No_Truncation
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Null_Excluding_Subtype
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Null_Exclusion_Present
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
- procedure Set_Null_Exclusion_In_Return_Present
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Null_Present
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Null_Record_Present
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Null_Statement
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Object_Definition
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Of_Present
- (N : Node_Id; Val : Boolean := True); -- Flag16
-
- procedure Set_Original_Discriminant
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Original_Entity
- (N : Node_Id; Val : Entity_Id); -- Node2
-
- procedure Set_Others_Discrete_Choices
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Out_Present
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Parameter_Associations
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Parameter_Specifications
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Parameter_Type
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Parent_Spec
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Parent_With
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_Position
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Pragma_Argument_Associations
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Pragma_Identifier
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Pragmas_After
- (N : Node_Id; Val : List_Id); -- List5
-
- procedure Set_Pragmas_Before
- (N : Node_Id; Val : List_Id); -- List4
-
- procedure Set_Pre_Post_Conditions
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Prefix
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Premature_Use
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Present_Expr
- (N : Node_Id; Val : Uint); -- Uint3
-
- procedure Set_Prev_Ids
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Prev_Use_Clause
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Print_In_Hex
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Private_Declarations
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Private_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Procedure_To_Call
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Proper_Body
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Protected_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Protected_Present
- (N : Node_Id; Val : Boolean := True); -- Flag6
-
- procedure Set_Raises_Constraint_Error
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Range_Constraint
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Range_Expression
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Real_Range_Specification
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Realval
- (N : Node_Id; Val : Ureal); -- Ureal3
-
- procedure Set_Reason
- (N : Node_Id; Val : Uint); -- Uint3
-
- procedure Set_Record_Extension_Part
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Redundant_Use
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Renaming_Exception
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Result_Definition
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Return_Object_Declarations
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Return_Statement_Entity
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Reverse_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Right_Opnd
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Rounded_Result
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Save_Invocation_Graph_Of_Body
- (N : Node_Id; Val : Boolean := True); -- Flag1
-
- procedure Set_SCIL_Controlling_Tag
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_SCIL_Entity
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_SCIL_Tag_Value
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_SCIL_Target_Prim
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Scope
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Select_Alternatives
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Selector_Name
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Selector_Names
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Shift_Count_OK
- (N : Node_Id; Val : Boolean := True); -- Flag4
-
- procedure Set_Source_Type
- (N : Node_Id; Val : Entity_Id); -- Node1
-
- procedure Set_Specification
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Split_PPC
- (N : Node_Id; Val : Boolean); -- Flag17
-
- procedure Set_Statements
- (N : Node_Id; Val : List_Id); -- List3
-
- procedure Set_Storage_Pool
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Subpool_Handle_Name
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Strval
- (N : Node_Id; Val : String_Id); -- Str3
-
- procedure Set_Subtype_Indication
- (N : Node_Id; Val : Node_Id); -- Node5
-
- procedure Set_Subtype_Mark
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Subtype_Marks
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Suppress_Assignment_Checks
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Suppress_Loop_Warnings
- (N : Node_Id; Val : Boolean := True); -- Flag17
-
- procedure Set_Synchronized_Present
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Tagged_Present
- (N : Node_Id; Val : Boolean := True); -- Flag15
-
- procedure Set_Target
- (N : Node_Id; Val : Entity_Id); -- Node1
-
- procedure Set_Target_Type
- (N : Node_Id; Val : Entity_Id); -- Node2
-
- procedure Set_Task_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Task_Present
- (N : Node_Id; Val : Boolean := True); -- Flag5
-
- procedure Set_Then_Actions
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Then_Statements
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Triggering_Alternative
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_Triggering_Statement
- (N : Node_Id; Val : Node_Id); -- Node1
-
- procedure Set_TSS_Elist
- (N : Node_Id; Val : Elist_Id); -- Elist3
-
- procedure Set_Type_Definition
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Uneval_Old_Accept
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Uneval_Old_Warn
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Unit
- (N : Node_Id; Val : Node_Id); -- Node2
-
- procedure Set_Unknown_Discriminants_Present
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- procedure Set_Unreferenced_In_Spec
- (N : Node_Id; Val : Boolean := True); -- Flag7
-
- procedure Set_Variant_Part
- (N : Node_Id; Val : Node_Id); -- Node4
-
- procedure Set_Variants
- (N : Node_Id; Val : List_Id); -- List1
-
- procedure Set_Visible_Declarations
- (N : Node_Id; Val : List_Id); -- List2
-
- procedure Set_Uninitialized_Variable
- (N : Node_Id; Val : Node_Id); -- Node3
-
- procedure Set_Used_Operations
- (N : Node_Id; Val : Elist_Id); -- Elist2
-
- procedure Set_Was_Attribute_Reference
- (N : Node_Id; Val : Boolean := True); -- Flag2
-
- procedure Set_Was_Default_Init_Box_Association
- (N : Node_Id; Val : Boolean := True); -- Flag14
-
- procedure Set_Was_Expression_Function
- (N : Node_Id; Val : Boolean := True); -- Flag18
-
- procedure Set_Was_Originally_Stub
- (N : Node_Id; Val : Boolean := True); -- Flag13
-
- -------------------------
- -- Iterator Procedures --
- -------------------------
-
- -- The call to Next_xxx (N) is equivalent to N := Next_xxx (N)
-
- procedure Next_Entity (N : in out Node_Id);
- procedure Next_Named_Actual (N : in out Node_Id);
- procedure Next_Rep_Item (N : in out Node_Id);
- procedure Next_Use_Clause (N : in out Node_Id);
-
- -------------------------------------------
- -- Miscellaneous Tree Access Subprograms --
- -------------------------------------------
-
- function End_Location (N : Node_Id) return Source_Ptr;
- -- N is an N_If_Statement or N_Case_Statement node, and this function
- -- returns the location of the IF token in the END IF sequence by
- -- translating the value of the End_Span field.
-
- -- WARNING: There is a matching C declaration of this subprogram in fe.h
-
- procedure Set_End_Location (N : Node_Id; S : Source_Ptr);
- -- N is an N_If_Statement or N_Case_Statement node. This procedure sets
- -- the End_Span field to correspond to the given value S. In other words,
- -- End_Span is set to the difference between S and Sloc (N), the starting
- -- location.
-
- function Get_Pragma_Arg (Arg : Node_Id) return Node_Id;
- -- Given an argument to a pragma Arg, this function returns the expression
- -- for the argument. This is Arg itself, or, in the case where Arg is a
- -- pragma argument association node, the expression from this node.
-
- -----------------------
- -- Utility Functions --
- -----------------------
-
- procedure Map_Pragma_Name (From, To : Name_Id);
- -- Used in the implementation of pragma Rename_Pragma. Maps pragma name
- -- From to pragma name To, so From can be used as a synonym for To.
-
- Too_Many_Pragma_Mappings : exception;
- -- Raised if Map_Pragma_Name is called too many times. We expect that few
- -- programs will use it at all, and those that do will use it approximately
- -- once or twice.
-
- function Pragma_Name (N : Node_Id) return Name_Id;
- -- Obtain the name of pragma N from the Chars field of its identifier. If
- -- the pragma has been renamed using Rename_Pragma, this routine returns
- -- the name of the renaming.
-
- function Pragma_Name_Unmapped (N : Node_Id) return Name_Id;
- -- Obtain the name of pragma N from the Chars field of its identifier. This
- -- form of name extraction does not take into account renamings performed
- -- by Rename_Pragma.
-
- -----------------------------
- -- Syntactic Parent Tables --
- -----------------------------
-
- -- These tables show for each node, and for each of the five fields,
- -- whether the corresponding field is syntactic (True) or semantic (False).
- -- Unused entries are also set to False.
-
- subtype Field_Num is Natural range 1 .. 5;
-
- Is_Syntactic_Field : constant array (Node_Kind, Field_Num) of Boolean := (
-
- -- Following entries can be built automatically from the sinfo sources
- -- using the makeisf utility (currently this program is in spitbol).
-
- N_Identifier =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- Original_Discriminant (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Integer_Literal =>
- (1 => False, -- unused
- 2 => False, -- Original_Entity (Node2-Sem)
- 3 => True, -- Intval (Uint3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Real_Literal =>
- (1 => False, -- unused
- 2 => False, -- Original_Entity (Node2-Sem)
- 3 => True, -- Realval (Ureal3)
- 4 => False, -- Corresponding_Integer_Value (Uint4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Character_Literal =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Char_Literal_Value (Uint2)
- 3 => False, -- unused
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_String_Literal =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Strval (Str3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Pragma =>
- (1 => False, -- Next_Pragma (Node1-Sem)
- 2 => True, -- Pragma_Argument_Associations (List2)
- 3 => False, -- Corresponding_Aspect (Node3-Sem)
- 4 => True, -- Pragma_Identifier (Node4)
- 5 => False), -- Next_Rep_Item (Node5-Sem)
-
- N_Pragma_Argument_Association =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- Expression_Copy (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Defining_Identifier =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- Next_Entity (Node2-Sem)
- 3 => False, -- Scope (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Full_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Incomplete_View (Node2-Sem)
- 3 => True, -- Type_Definition (Node3)
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- unused
-
- N_Subtype_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- Generic_Parent_Type (Node4-Sem)
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Subtype_Indication =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Constraint (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Object_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Handler_List_Entry (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => True, -- Object_Definition (Node4)
- 5 => False), -- Corresponding_Generic_Association (Node5-Sem)
-
- N_Number_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Derived_Type_Definition =>
- (1 => False, -- unused
- 2 => True, -- Interface_List (List2)
- 3 => True, -- Record_Extension_Part (Node3)
- 4 => False, -- unused
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Range_Constraint =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Range_Expression (Node4)
- 5 => False), -- unused
-
- N_Range =>
- (1 => True, -- Low_Bound (Node1)
- 2 => True, -- High_Bound (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Enumeration_Type_Definition =>
- (1 => True, -- Literals (List1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- End_Label (Node4)
- 5 => False), -- unused
-
- N_Defining_Character_Literal =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- Next_Entity (Node2-Sem)
- 3 => False, -- Scope (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Signed_Integer_Type_Definition =>
- (1 => True, -- Low_Bound (Node1)
- 2 => True, -- High_Bound (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Modular_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Floating_Point_Definition =>
- (1 => False, -- unused
- 2 => True, -- Digits_Expression (Node2)
- 3 => False, -- unused
- 4 => True, -- Real_Range_Specification (Node4)
- 5 => False), -- unused
-
- N_Real_Range_Specification =>
- (1 => True, -- Low_Bound (Node1)
- 2 => True, -- High_Bound (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Ordinary_Fixed_Point_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Delta_Expression (Node3)
- 4 => True, -- Real_Range_Specification (Node4)
- 5 => False), -- unused
-
- N_Decimal_Fixed_Point_Definition =>
- (1 => False, -- unused
- 2 => True, -- Digits_Expression (Node2)
- 3 => True, -- Delta_Expression (Node3)
- 4 => True, -- Real_Range_Specification (Node4)
- 5 => False), -- unused
-
- N_Digits_Constraint =>
- (1 => False, -- unused
- 2 => True, -- Digits_Expression (Node2)
- 3 => False, -- unused
- 4 => True, -- Range_Constraint (Node4)
- 5 => False), -- unused
-
- N_Unconstrained_Array_Definition =>
- (1 => False, -- unused
- 2 => True, -- Subtype_Marks (List2)
- 3 => False, -- unused
- 4 => True, -- Component_Definition (Node4)
- 5 => False), -- unused
-
- N_Constrained_Array_Definition =>
- (1 => False, -- unused
- 2 => True, -- Discrete_Subtype_Definitions (List2)
- 3 => False, -- unused
- 4 => True, -- Component_Definition (Node4)
- 5 => False), -- unused
-
- N_Component_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Access_Definition (Node3)
- 4 => False, -- unused
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Discriminant_Specification =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => True), -- Discriminant_Type (Node5)
-
- N_Index_Or_Discriminant_Constraint =>
- (1 => True, -- Constraints (List1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Discriminant_Association =>
- (1 => True, -- Selector_Names (List1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Record_Definition =>
- (1 => True, -- Component_List (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => False, -- unused
- 4 => True, -- End_Label (Node4)
- 5 => False), -- unused
-
- N_Component_List =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Component_Items (List3)
- 4 => True, -- Variant_Part (Node4)
- 5 => False), -- unused
-
- N_Component_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Component_Definition (Node4)
- 5 => False), -- unused
-
- N_Variant_Part =>
- (1 => True, -- Variants (List1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Variant =>
- (1 => True, -- Component_List (Node1)
- 2 => False, -- Enclosing_Variant (Node2-Sem)
- 3 => False, -- Present_Expr (Uint3-Sem)
- 4 => True, -- Discrete_Choices (List4)
- 5 => False), -- Dcheck_Function (Node5-Sem)
-
- N_Others_Choice =>
- (1 => False, -- Others_Discrete_Choices (List1-Sem)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Access_To_Object_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Access_Function_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Parameter_Specifications (List3)
- 4 => True, -- Result_Definition (Node4)
- 5 => False), -- unused
-
- N_Access_Procedure_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Parameter_Specifications (List3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Access_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Access_To_Subprogram_Definition (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- unused
-
- N_Incomplete_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- Premature_Use
-
- N_Explicit_Dereference =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Prefix (Node3)
- 4 => False, -- Actual_Designated_Subtype (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Indexed_Component =>
- (1 => True, -- Expressions (List1)
- 2 => False, -- unused
- 3 => True, -- Prefix (Node3)
- 4 => False, -- Generalized_Indexing (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Slice =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Prefix (Node3)
- 4 => True, -- Discrete_Range (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Selected_Component =>
- (1 => False, -- unused
- 2 => True, -- Selector_Name (Node2)
- 3 => True, -- Prefix (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Attribute_Reference =>
- (1 => True, -- Expressions (List1)
- 2 => True, -- Attribute_Name (Name2)
- 3 => True, -- Prefix (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Aggregate =>
- (1 => True, -- Expressions (List1)
- 2 => True, -- Component_Associations (List2)
- 3 => False, -- Aggregate_Bounds (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Component_Association =>
- (1 => True, -- Choices (List1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => True), -- Loop_Actions (List5-Sem);
-
- N_Iterated_Component_Association =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Iterator_Specification
- 3 => True, -- Expression (Node3)
- 4 => True, -- Discrete_Choices (List4)
- 5 => True), -- Loop_Actions (List5-Sem);
-
- N_Iterated_Element_Association =>
- (1 => True, -- Key_expression
- 2 => True, -- Iterator_Specification
- 3 => True, -- Expression (Node3)
- 4 => True, -- Loop_Parameter_Specification
- 5 => True), -- Loop_Actions (List5-Sem);
-
- N_Delta_Aggregate =>
- (1 => False, -- Unused
- 2 => True, -- Component_Associations (List2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- Unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Extension_Aggregate =>
- (1 => True, -- Expressions (List1)
- 2 => True, -- Component_Associations (List2)
- 3 => True, -- Ancestor_Part (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Null =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_And_Then =>
- (1 => False, -- Actions (List1-Sem)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Or_Else =>
- (1 => False, -- Actions (List1-Sem)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_In =>
- (1 => False, -- unused
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => True, -- Alternatives (List4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Not_In =>
- (1 => False, -- unused
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => True, -- Alternatives (List4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_And =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Or =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Xor =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Eq =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Ne =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Lt =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Le =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Gt =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Ge =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Add =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Subtract =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Concat =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Multiply =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Divide =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Mod =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Rem =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Expon =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Plus =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- unused
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Minus =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- unused
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Abs =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- unused
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Not =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- unused
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Type_Conversion =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Qualified_Expression =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Quantified_Expression =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Iterator_Specification (Node2)
- 3 => False, -- unused
- 4 => True, -- Loop_Parameter_Specification (Node4)
- 5 => False), -- unused
-
- N_Allocator =>
- (1 => False, -- Storage_Pool (Node1-Sem)
- 2 => False, -- Procedure_To_Call (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => True, -- Subpool_Handle_Name (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Null_Statement =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Label =>
- (1 => True, -- Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Assignment_Statement =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Target_Name =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_If_Statement =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Then_Statements (List2)
- 3 => True, -- Elsif_Parts (List3)
- 4 => True, -- Else_Statements (List4)
- 5 => True), -- End_Span (Uint5)
-
- N_Elsif_Part =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Then_Statements (List2)
- 3 => False, -- Condition_Actions (List3-Sem)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Case_Expression =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Alternatives (List4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Case_Expression_Alternative =>
- (1 => False, -- Actions (List1-Sem)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Discrete_Choices (List4)
- 5 => False), -- unused
-
- N_Case_Statement =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Alternatives (List4)
- 5 => True), -- End_Span (Uint5)
-
- N_Case_Statement_Alternative =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Statements (List3)
- 4 => True, -- Discrete_Choices (List4)
- 5 => False), -- unused
-
- N_Loop_Statement =>
- (1 => True, -- Identifier (Node1)
- 2 => True, -- Iteration_Scheme (Node2)
- 3 => True, -- Statements (List3)
- 4 => True, -- End_Label (Node4)
- 5 => False), -- unused
-
- N_Iteration_Scheme =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Iterator_Specification (Node2)
- 3 => False, -- Condition_Actions (List3-Sem)
- 4 => True, -- Loop_Parameter_Specification (Node4)
- 5 => False), -- unused
-
- N_Loop_Parameter_Specification =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Discrete_Subtype_Definition (Node4)
- 5 => True), -- Iterator_Filter (Node5)
-
- N_Iterator_Specification =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- Unused
- 4 => False, -- Unused
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Block_Statement =>
- (1 => True, -- Identifier (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => False), -- unused
-
- N_Exit_Statement =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Goto_Statement =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Subprogram_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => False, -- unused
- 3 => False, -- Body_To_Inline (Node3-Sem)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Abstract_Subprogram_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Function_Specification =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => False, -- unused
- 3 => True, -- Parameter_Specifications (List3)
- 4 => True, -- Result_Definition (Node4)
- 5 => False), -- Generic_Parent (Node5-Sem)
-
- N_Procedure_Specification =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => False, -- Null_Statement (Node2-Sem)
- 3 => True, -- Parameter_Specifications (List3)
- 4 => False, -- unused
- 5 => False), -- Generic_Parent (Node5-Sem)
-
- N_Designator =>
- (1 => True, -- Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Defining_Program_Unit_Name =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Operator_Symbol =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- unused
- 3 => True, -- Strval (Str3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Defining_Operator_Symbol =>
- (1 => True, -- Chars (Name1)
- 2 => False, -- Next_Entity (Node2-Sem)
- 3 => False, -- Scope (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Parameter_Specification =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Parameter_Type (Node2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- Default_Expression (Node5-Sem)
-
- N_Subprogram_Body =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Expression_Function =>
- (1 => True, -- Specification (Node1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Procedure_Call_Statement =>
- (1 => False, -- Controlling_Argument (Node1-Sem)
- 2 => True, -- Name (Node2)
- 3 => True, -- Parameter_Associations (List3)
- 4 => False, -- First_Named_Actual (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Function_Call =>
- (1 => False, -- Controlling_Argument (Node1-Sem)
- 2 => True, -- Name (Node2)
- 3 => True, -- Parameter_Associations (List3)
- 4 => False, -- First_Named_Actual (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Parameter_Association =>
- (1 => False, -- unused
- 2 => True, -- Selector_Name (Node2)
- 3 => True, -- Explicit_Actual_Parameter (Node3)
- 4 => False, -- Next_Named_Actual (Node4-Sem)
- 5 => False), -- unused
-
- N_Simple_Return_Statement =>
- (1 => False, -- Storage_Pool (Node1-Sem)
- 2 => False, -- Procedure_To_Call (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- Return_Statement_Entity (Node5-Sem)
-
- N_Extended_Return_Statement =>
- (1 => False, -- Storage_Pool (Node1-Sem)
- 2 => False, -- Procedure_To_Call (Node2-Sem)
- 3 => True, -- Return_Object_Declarations (List3)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => False), -- Return_Statement_Entity (Node5-Sem)
-
- N_Package_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => False, -- unused
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Package_Specification =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Visible_Declarations (List2)
- 3 => True, -- Private_Declarations (List3)
- 4 => True, -- End_Label (Node4)
- 5 => False), -- Generic_Parent (Node5-Sem)
-
- N_Package_Body =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- unused
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Private_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- unused
-
- N_Private_Extension_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => False, -- unused
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => True), -- Subtype_Indication (Node5)
-
- N_Use_Package_Clause =>
- (1 => False, -- Prev_Use_Clause (Node1-Sem)
- 2 => True, -- Name (Node2)
- 3 => False, -- Next_Use_Clause (Node3-Sem)
- 4 => False, -- Associated_Node (Node4-Sem)
- 5 => False), -- Hidden_By_Use_Clause (Elist5-Sem)
-
- N_Use_Type_Clause =>
- (1 => False, -- Prev_Use_Clause (Node1-Sem)
- 2 => False, -- Used_Operations (Elist2-Sem)
- 3 => False, -- Next_Use_Clause (Node3-Sem)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Hidden_By_Use_Clause (Elist5-Sem)
-
- N_Object_Renaming_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Access_Definition (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Corresponding_Generic_Association (Node5-Sem)
-
- N_Exception_Renaming_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Package_Renaming_Declaration =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- unused
-
- N_Subprogram_Renaming_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- Corresponding_Formal_Spec (Node3-Sem)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Generic_Package_Renaming_Declaration =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- unused
-
- N_Generic_Procedure_Renaming_Declaration =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- unused
-
- N_Generic_Function_Renaming_Declaration =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- unused
-
- N_Task_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => True, -- Task_Definition (Node3)
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Single_Task_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => True, -- Task_Definition (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Task_Definition =>
- (1 => False, -- unused
- 2 => True, -- Visible_Declarations (List2)
- 3 => True, -- Private_Declarations (List3)
- 4 => True, -- End_Label (Node4)
- 5 => False), -- unused
-
- N_Task_Body =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Protected_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => True, -- Protected_Definition (Node3)
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Single_Protected_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Interface_List (List2)
- 3 => True, -- Protected_Definition (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Protected_Definition =>
- (1 => False, -- unused
- 2 => True, -- Visible_Declarations (List2)
- 3 => True, -- Private_Declarations (List3)
- 4 => True, -- End_Label (Node4)
- 5 => False), -- unused
-
- N_Protected_Body =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- unused
- 4 => True, -- End_Label (Node4)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Entry_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Parameter_Specifications (List3)
- 4 => True, -- Discrete_Subtype_Definition (Node4)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Accept_Statement =>
- (1 => True, -- Entry_Direct_Name (Node1)
- 2 => True, -- Declarations (List2)
- 3 => True, -- Parameter_Specifications (List3)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => True), -- Entry_Index (Node5)
-
- N_Entry_Body =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => True, -- Handled_Statement_Sequence (Node4)
- 5 => True), -- Entry_Body_Formal_Part (Node5)
-
- N_Entry_Body_Formal_Part =>
- (1 => True, -- Condition (Node1)
- 2 => False, -- unused
- 3 => True, -- Parameter_Specifications (List3)
- 4 => True, -- Entry_Index_Specification (Node4)
- 5 => False), -- unused
-
- N_Entry_Index_Specification =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Discrete_Subtype_Definition (Node4)
- 5 => False), -- unused
-
- N_Entry_Call_Statement =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => True, -- Parameter_Associations (List3)
- 4 => False, -- First_Named_Actual (Node4-Sem)
- 5 => False), -- unused
-
- N_Requeue_Statement =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Delay_Until_Statement =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Delay_Relative_Statement =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Selective_Accept =>
- (1 => True, -- Select_Alternatives (List1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Else_Statements (List4)
- 5 => False), -- unused
-
- N_Accept_Alternative =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Accept_Statement (Node2)
- 3 => True, -- Statements (List3)
- 4 => True, -- Pragmas_Before (List4)
- 5 => False), -- Accept_Handler_Records (List5-Sem)
-
- N_Delay_Alternative =>
- (1 => True, -- Condition (Node1)
- 2 => True, -- Delay_Statement (Node2)
- 3 => True, -- Statements (List3)
- 4 => True, -- Pragmas_Before (List4)
- 5 => False), -- unused
-
- N_Terminate_Alternative =>
- (1 => True, -- Condition (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Pragmas_Before (List4)
- 5 => True), -- Pragmas_After (List5)
-
- N_Timed_Entry_Call =>
- (1 => True, -- Entry_Call_Alternative (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Delay_Alternative (Node4)
- 5 => False), -- unused
-
- N_Entry_Call_Alternative =>
- (1 => True, -- Entry_Call_Statement (Node1)
- 2 => False, -- unused
- 3 => True, -- Statements (List3)
- 4 => True, -- Pragmas_Before (List4)
- 5 => False), -- unused
-
- N_Conditional_Entry_Call =>
- (1 => True, -- Entry_Call_Alternative (Node1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => True, -- Else_Statements (List4)
- 5 => False), -- unused
-
- N_Asynchronous_Select =>
- (1 => True, -- Triggering_Alternative (Node1)
- 2 => True, -- Abortable_Part (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Triggering_Alternative =>
- (1 => True, -- Triggering_Statement (Node1)
- 2 => False, -- unused
- 3 => True, -- Statements (List3)
- 4 => True, -- Pragmas_Before (List4)
- 5 => False), -- unused
-
- N_Abortable_Part =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Statements (List3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Abort_Statement =>
- (1 => False, -- unused
- 2 => True, -- Names (List2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Compilation_Unit =>
- (1 => True, -- Context_Items (List1)
- 2 => True, -- Unit (Node2)
- 3 => False, -- First_Inlined_Subprogram (Node3-Sem)
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => True), -- Aux_Decls_Node (Node5)
-
- N_Compilation_Unit_Aux =>
- (1 => True, -- Actions (List1)
- 2 => True, -- Declarations (List2)
- 3 => False, -- Default_Storage_Pool (Node3)
- 4 => True, -- Config_Pragmas (List4)
- 5 => True), -- Pragmas_After (List5)
-
- N_With_Clause =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => False, -- unused
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => False), -- Corresponding_Spec (Node5-Sem)
-
- N_Subprogram_Body_Stub =>
- (1 => True, -- Specification (Node1)
- 2 => False, -- Corresponding_Spec_Of_Stub (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Package_Body_Stub =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Corresponding_Spec_Of_Stub (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Task_Body_Stub =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Corresponding_Spec_Of_Stub (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Protected_Body_Stub =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Corresponding_Spec_Of_Stub (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- Library_Unit (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Subunit =>
- (1 => True, -- Proper_Body (Node1)
- 2 => True, -- Name (Node2)
- 3 => False, -- Corresponding_Stub (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Exception_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => False, -- Expression (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Handled_Sequence_Of_Statements =>
- (1 => True, -- At_End_Proc (Node1)
- 2 => False, -- First_Real_Statement (Node2-Sem)
- 3 => True, -- Statements (List3)
- 4 => True, -- End_Label (Node4)
- 5 => True), -- Exception_Handlers (List5)
-
- N_Exception_Handler =>
- (1 => False, -- Local_Raise_Statements (Elist1)
- 2 => True, -- Choice_Parameter (Node2)
- 3 => True, -- Statements (List3)
- 4 => True, -- Exception_Choices (List4)
- 5 => False), -- Exception_Label (Node5)
-
- N_Raise_Statement =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Raise_Expression =>
- (1 => False, -- unused
- 2 => True, -- Name (Node2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Generic_Subprogram_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Generic_Formal_Declarations (List2)
- 3 => False, -- unused
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Generic_Package_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Generic_Formal_Declarations (List2)
- 3 => False, -- Activation_Chain_Entity (Node3-Sem)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Corresponding_Body (Node5-Sem)
-
- N_Package_Instantiation =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Generic_Associations (List3)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Instance_Spec (Node5-Sem)
-
- N_Procedure_Instantiation =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Generic_Associations (List3)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Instance_Spec (Node5-Sem)
-
- N_Function_Instantiation =>
- (1 => True, -- Defining_Unit_Name (Node1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Generic_Associations (List3)
- 4 => False, -- Parent_Spec (Node4-Sem)
- 5 => False), -- Instance_Spec (Node5-Sem)
-
- N_Generic_Association =>
- (1 => True, -- Explicit_Generic_Actual_Parameter (Node1)
- 2 => True, -- Selector_Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Object_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Access_Definition (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => True), -- Default_Expression (Node5)
-
- N_Formal_Type_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Formal_Type_Definition (Node3)
- 4 => True, -- Discriminant_Specifications (List4)
- 5 => False), -- unused
-
- N_Formal_Private_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Incomplete_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Derived_Type_Definition =>
- (1 => False, -- unused
- 2 => True, -- Interface_List (List2)
- 3 => False, -- unused
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- unused
-
- N_Formal_Discrete_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Signed_Integer_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Modular_Type_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Floating_Point_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Ordinary_Fixed_Point_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Decimal_Fixed_Point_Definition =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Concrete_Subprogram_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Default_Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Abstract_Subprogram_Declaration =>
- (1 => True, -- Specification (Node1)
- 2 => True, -- Default_Name (Node2)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Formal_Package_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Generic_Associations (List3)
- 4 => False, -- unused
- 5 => False), -- Instance_Spec (Node5-Sem)
-
- N_Attribute_Definition_Clause =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Name (Node2)
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- Next_Rep_Item (Node5-Sem)
-
- N_Aspect_Specification =>
- (1 => True, -- Identifier (Node1)
- 2 => False, -- Aspect_Rep_Item (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Next_Rep_Item (Node5-Sem)
-
- N_Enumeration_Representation_Clause =>
- (1 => True, -- Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Array_Aggregate (Node3)
- 4 => False, -- unused
- 5 => False), -- Next_Rep_Item (Node5-Sem)
-
- N_Record_Representation_Clause =>
- (1 => True, -- Identifier (Node1)
- 2 => True, -- Mod_Clause (Node2)
- 3 => True, -- Component_Clauses (List3)
- 4 => False, -- unused
- 5 => False), -- Next_Rep_Item (Node5-Sem)
-
- N_Component_Clause =>
- (1 => True, -- Component_Name (Node1)
- 2 => True, -- Position (Node2)
- 3 => True, -- First_Bit (Node3)
- 4 => True, -- Last_Bit (Node4)
- 5 => False), -- unused
-
- N_Code_Statement =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Op_Rotate_Left =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Rotate_Right =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Shift_Left =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Shift_Right_Arithmetic =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Op_Shift_Right =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Left_Opnd (Node2)
- 3 => True, -- Right_Opnd (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Delta_Constraint =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Delta_Expression (Node3)
- 4 => True, -- Range_Constraint (Node4)
- 5 => False), -- unused
-
- N_At_Clause =>
- (1 => True, -- Identifier (Node1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Mod_Clause =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Pragmas_Before (List4)
- 5 => False), -- unused
-
- N_If_Expression =>
- (1 => True, -- Expressions (List1)
- 2 => False, -- Then_Actions (List2-Sem)
- 3 => False, -- Else_Actions (List3-Sem)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Compound_Statement =>
- (1 => True, -- Actions (List1)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Contract =>
- (1 => False, -- Pre_Post_Conditions (Node1-Sem)
- 2 => False, -- Contract_Test_Cases (Node2-Sem)
- 3 => False, -- Classifications (Node3-Sem)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Expanded_Name =>
- (1 => True, -- Chars (Name1)
- 2 => True, -- Selector_Name (Node2)
- 3 => True, -- Prefix (Node3)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Expression_With_Actions =>
- (1 => True, -- Actions (List1)
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Free_Statement =>
- (1 => False, -- Storage_Pool (Node1-Sem)
- 2 => False, -- Procedure_To_Call (Node2-Sem)
- 3 => True, -- Expression (Node3)
- 4 => False, -- Actual_Designated_Subtype (Node4-Sem)
- 5 => False), -- unused
-
- N_Freeze_Entity =>
- (1 => True, -- Actions (List1)
- 2 => False, -- Access_Types_To_Process (Elist2-Sem)
- 3 => False, -- TSS_Elist (Elist3-Sem)
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- First_Subtype_Link (Node5-Sem)
-
- N_Freeze_Generic_Entity =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- Entity (Node4-Sem)
- 5 => False), -- unused
-
- N_Implicit_Label_Declaration =>
- (1 => True, -- Defining_Identifier (Node1)
- 2 => False, -- Label_Construct (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Itype_Reference =>
- (1 => False, -- Itype (Node1-Sem)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Raise_Constraint_Error =>
- (1 => True, -- Condition (Node1)
- 2 => False, -- unused
- 3 => True, -- Reason (Uint3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Raise_Program_Error =>
- (1 => True, -- Condition (Node1)
- 2 => False, -- unused
- 3 => True, -- Reason (Uint3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Raise_Storage_Error =>
- (1 => True, -- Condition (Node1)
- 2 => False, -- unused
- 3 => True, -- Reason (Uint3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Push_Constraint_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Push_Program_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- Exception_Label
-
- N_Push_Storage_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- Exception_Label
-
- N_Pop_Constraint_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Pop_Program_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Pop_Storage_Error_Label =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Reference =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Prefix (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Unchecked_Expression =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => False, -- unused
- 5 => False), -- Etype (Node5-Sem)
-
- N_Unchecked_Type_Conversion =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => True, -- Expression (Node3)
- 4 => True, -- Subtype_Mark (Node4)
- 5 => False), -- Etype (Node5-Sem)
-
- N_Validate_Unchecked_Conversion =>
- (1 => False, -- Source_Type (Node1-Sem)
- 2 => False, -- Target_Type (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- -- Entries for SCIL nodes
-
- N_SCIL_Dispatch_Table_Tag_Init =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- SCIL_Entity (Node4-Sem)
- 5 => False), -- unused
-
- N_SCIL_Dispatching_Call =>
- (1 => False, -- unused
- 2 => False, -- SCIL_Target_Prim (Node2-Sem)
- 3 => False, -- unused
- 4 => False, -- SCIL_Entity (Node4-Sem)
- 5 => False), -- SCIL_Controlling_Tag (Node5-Sem)
-
- N_SCIL_Membership_Test =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- SCIL_Entity (Node4-Sem)
- 5 => False), -- SCIL_Tag_Value (Node5-Sem)
-
- N_Call_Marker =>
- (1 => False, -- Target (Node1-Sem)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Variable_Reference_Marker =>
- (1 => False, -- Target (Node1-Sem)
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- -- Entries for Empty, Error, and Unused. Even though these have a Chars
- -- field for debugging purposes, they are not really syntactic fields, so
- -- we mark all fields as unused.
-
- N_Empty =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Error =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Unused_At_Start =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False), -- unused
-
- N_Unused_At_End =>
- (1 => False, -- unused
- 2 => False, -- unused
- 3 => False, -- unused
- 4 => False, -- unused
- 5 => False)); -- unused
-
- --------------------
- -- Inline Pragmas --
- --------------------
-
- pragma Inline (Abort_Present);
- pragma Inline (Abortable_Part);
- pragma Inline (Abstract_Present);
- pragma Inline (Accept_Handler_Records);
- pragma Inline (Accept_Statement);
- pragma Inline (Access_Definition);
- pragma Inline (Access_To_Subprogram_Definition);
- pragma Inline (Access_Types_To_Process);
- pragma Inline (Actions);
- pragma Inline (Activation_Chain_Entity);
- pragma Inline (Acts_As_Spec);
- pragma Inline (Actual_Designated_Subtype);
- pragma Inline (Address_Warning_Posted);
- pragma Inline (Aggregate_Bounds);
- pragma Inline (Aliased_Present);
- pragma Inline (Alloc_For_BIP_Return);
- pragma Inline (All_Others);
- pragma Inline (All_Present);
- pragma Inline (Alternatives);
- pragma Inline (Ancestor_Part);
- pragma Inline (Atomic_Sync_Required);
- pragma Inline (Array_Aggregate);
- pragma Inline (Aspect_On_Partial_View);
- pragma Inline (Aspect_Rep_Item);
- pragma Inline (Assignment_OK);
- pragma Inline (Associated_Node);
- pragma Inline (At_End_Proc);
- pragma Inline (Attribute_Name);
- pragma Inline (Aux_Decls_Node);
- pragma Inline (Backwards_OK);
- pragma Inline (Bad_Is_Detected);
- pragma Inline (Body_To_Inline);
- pragma Inline (Body_Required);
- pragma Inline (By_Ref);
- pragma Inline (Box_Present);
- pragma Inline (Char_Literal_Value);
- pragma Inline (Chars);
- pragma Inline (Check_Address_Alignment);
- pragma Inline (Choice_Parameter);
- pragma Inline (Choices);
- pragma Inline (Class_Present);
- pragma Inline (Classifications);
- pragma Inline (Cleanup_Actions);
- pragma Inline (Comes_From_Extended_Return_Statement);
- pragma Inline (Compile_Time_Known_Aggregate);
- pragma Inline (Component_Associations);
- pragma Inline (Component_Clauses);
- pragma Inline (Component_Definition);
- pragma Inline (Component_Items);
- pragma Inline (Component_List);
- pragma Inline (Component_Name);
- pragma Inline (Componentwise_Assignment);
- pragma Inline (Condition);
- pragma Inline (Condition_Actions);
- pragma Inline (Config_Pragmas);
- pragma Inline (Constant_Present);
- pragma Inline (Constraint);
- pragma Inline (Constraints);
- pragma Inline (Context_Installed);
- pragma Inline (Context_Items);
- pragma Inline (Context_Pending);
- pragma Inline (Contract_Test_Cases);
- pragma Inline (Controlling_Argument);
- pragma Inline (Convert_To_Return_False);
- pragma Inline (Conversion_OK);
- pragma Inline (Corresponding_Aspect);
- pragma Inline (Corresponding_Body);
- pragma Inline (Corresponding_Formal_Spec);
- pragma Inline (Corresponding_Generic_Association);
- pragma Inline (Corresponding_Integer_Value);
- pragma Inline (Corresponding_Spec);
- pragma Inline (Corresponding_Spec_Of_Stub);
- pragma Inline (Corresponding_Stub);
- pragma Inline (Dcheck_Function);
- pragma Inline (Declarations);
- pragma Inline (Default_Expression);
- pragma Inline (Default_Storage_Pool);
- pragma Inline (Default_Name);
- pragma Inline (Defining_Identifier);
- pragma Inline (Defining_Unit_Name);
- pragma Inline (Delay_Alternative);
- pragma Inline (Delay_Statement);
- pragma Inline (Delta_Expression);
- pragma Inline (Digits_Expression);
- pragma Inline (Discr_Check_Funcs_Built);
- pragma Inline (Discrete_Choices);
- pragma Inline (Discrete_Range);
- pragma Inline (Discrete_Subtype_Definition);
- pragma Inline (Discrete_Subtype_Definitions);
- pragma Inline (Discriminant_Specifications);
- pragma Inline (Discriminant_Type);
- pragma Inline (Do_Accessibility_Check);
- pragma Inline (Do_Discriminant_Check);
- pragma Inline (Do_Length_Check);
- pragma Inline (Do_Division_Check);
- pragma Inline (Do_Overflow_Check);
- pragma Inline (Do_Range_Check);
- pragma Inline (Do_Storage_Check);
- pragma Inline (Do_Tag_Check);
- pragma Inline (Elaborate_All_Desirable);
- pragma Inline (Elaborate_All_Present);
- pragma Inline (Elaborate_Desirable);
- pragma Inline (Elaborate_Present);
- pragma Inline (Else_Actions);
- pragma Inline (Else_Statements);
- pragma Inline (Elsif_Parts);
- pragma Inline (Enclosing_Variant);
- pragma Inline (End_Label);
- pragma Inline (End_Span);
- pragma Inline (Entity);
- pragma Inline (Entity_Or_Associated_Node);
- pragma Inline (Entry_Body_Formal_Part);
- pragma Inline (Entry_Call_Alternative);
- pragma Inline (Entry_Call_Statement);
- pragma Inline (Entry_Direct_Name);
- pragma Inline (Entry_Index);
- pragma Inline (Entry_Index_Specification);
- pragma Inline (Etype);
- pragma Inline (Exception_Choices);
- pragma Inline (Exception_Handlers);
- pragma Inline (Exception_Junk);
- pragma Inline (Exception_Label);
- pragma Inline (Expansion_Delayed);
- pragma Inline (Explicit_Actual_Parameter);
- pragma Inline (Explicit_Generic_Actual_Parameter);
- pragma Inline (Expression);
- pragma Inline (Expression_Copy);
- pragma Inline (Expressions);
- pragma Inline (First_Bit);
- pragma Inline (First_Inlined_Subprogram);
- pragma Inline (First_Name);
- pragma Inline (First_Named_Actual);
- pragma Inline (First_Real_Statement);
- pragma Inline (First_Subtype_Link);
- pragma Inline (Float_Truncate);
- pragma Inline (Formal_Type_Definition);
- pragma Inline (Forwards_OK);
- pragma Inline (From_Aspect_Specification);
- pragma Inline (From_At_End);
- pragma Inline (From_At_Mod);
- pragma Inline (From_Conditional_Expression);
- pragma Inline (From_Default);
- pragma Inline (Generalized_Indexing);
- pragma Inline (Generic_Associations);
- pragma Inline (Generic_Formal_Declarations);
- pragma Inline (Generic_Parent);
- pragma Inline (Generic_Parent_Type);
- pragma Inline (Handled_Statement_Sequence);
- pragma Inline (Handler_List_Entry);
- pragma Inline (Has_Created_Identifier);
- pragma Inline (Has_Dereference_Action);
- pragma Inline (Has_Dynamic_Length_Check);
- pragma Inline (Has_Init_Expression);
- pragma Inline (Has_Local_Raise);
- pragma Inline (Has_Self_Reference);
- pragma Inline (Has_SP_Choice);
- pragma Inline (Has_No_Elaboration_Code);
- pragma Inline (Has_Pragma_Suppress_All);
- pragma Inline (Has_Private_View);
- pragma Inline (Has_Relative_Deadline_Pragma);
- pragma Inline (Has_Storage_Size_Pragma);
- pragma Inline (Has_Target_Names);
- pragma Inline (Has_Wide_Character);
- pragma Inline (Has_Wide_Wide_Character);
- pragma Inline (Header_Size_Added);
- pragma Inline (Hidden_By_Use_Clause);
- pragma Inline (High_Bound);
- pragma Inline (Identifier);
- pragma Inline (Implicit_With);
- pragma Inline (Interface_List);
- pragma Inline (Interface_Present);
- pragma Inline (Includes_Infinities);
- pragma Inline (Import_Interface_Present);
- pragma Inline (In_Present);
- pragma Inline (Incomplete_View);
- pragma Inline (Inherited_Discriminant);
- 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);
- pragma Inline (Is_Boolean_Aspect);
- pragma Inline (Is_Checked);
- pragma Inline (Is_Checked_Ghost_Pragma);
- pragma Inline (Is_Component_Left_Opnd);
- pragma Inline (Is_Component_Right_Opnd);
- pragma Inline (Is_Controlling_Actual);
- pragma Inline (Is_Declaration_Level_Node);
- pragma Inline (Is_Delayed_Aspect);
- pragma Inline (Is_Disabled);
- pragma Inline (Is_Dispatching_Call);
- pragma Inline (Is_Dynamic_Coextension);
- pragma Inline (Is_Effective_Use_Clause);
- pragma Inline (Is_Elaboration_Checks_OK_Node);
- pragma Inline (Is_Elaboration_Code);
- pragma Inline (Is_Elaboration_Warnings_OK_Node);
- pragma Inline (Is_Elsif);
- pragma Inline (Is_Entry_Barrier_Function);
- pragma Inline (Is_Expanded_Build_In_Place_Call);
- pragma Inline (Is_Expanded_Contract);
- pragma Inline (Is_Finalization_Wrapper);
- pragma Inline (Is_Folded_In_Parser);
- pragma Inline (Is_Generic_Contract_Pragma);
- pragma Inline (Is_Homogeneous_Aggregate);
- pragma Inline (Is_Ignored);
- pragma Inline (Is_Ignored_Ghost_Pragma);
- pragma Inline (Is_In_Discriminant_Check);
- pragma Inline (Is_Inherited_Pragma);
- pragma Inline (Is_Initialization_Block);
- pragma Inline (Is_Known_Guaranteed_ABE);
- pragma Inline (Is_Machine_Number);
- pragma Inline (Is_Null_Loop);
- pragma Inline (Is_Overloaded);
- pragma Inline (Is_Power_Of_2_For_Shift);
- pragma Inline (Is_Preelaborable_Call);
- pragma Inline (Is_Prefixed_Call);
- pragma Inline (Is_Protected_Subprogram_Body);
- pragma Inline (Is_Qualified_Universal_Literal);
- pragma Inline (Is_Read);
- pragma Inline (Is_Source_Call);
- pragma Inline (Is_SPARK_Mode_On_Node);
- pragma Inline (Is_Static_Coextension);
- pragma Inline (Is_Static_Expression);
- pragma Inline (Is_Subprogram_Descriptor);
- pragma Inline (Is_Task_Allocation_Block);
- pragma Inline (Is_Task_Body_Procedure);
- pragma Inline (Is_Task_Master);
- pragma Inline (Is_Write);
- pragma Inline (Iterator_Filter);
- pragma Inline (Iteration_Scheme);
- pragma Inline (Itype);
- pragma Inline (Key_Expression);
- pragma Inline (Kill_Range_Check);
- pragma Inline (Last_Bit);
- pragma Inline (Last_Name);
- pragma Inline (Library_Unit);
- pragma Inline (Label_Construct);
- pragma Inline (Left_Opnd);
- pragma Inline (Limited_View_Installed);
- pragma Inline (Limited_Present);
- pragma Inline (Literals);
- pragma Inline (Local_Raise_Not_OK);
- pragma Inline (Local_Raise_Statements);
- pragma Inline (Loop_Actions);
- pragma Inline (Loop_Parameter_Specification);
- pragma Inline (Low_Bound);
- pragma Inline (Mod_Clause);
- pragma Inline (More_Ids);
- pragma Inline (Must_Be_Byte_Aligned);
- pragma Inline (Must_Not_Freeze);
- pragma Inline (Must_Not_Override);
- pragma Inline (Must_Override);
- pragma Inline (Name);
- pragma Inline (Names);
- pragma Inline (Next_Entity);
- pragma Inline (Next_Exit_Statement);
- pragma Inline (Next_Implicit_With);
- pragma Inline (Next_Named_Actual);
- pragma Inline (Next_Pragma);
- pragma Inline (Next_Rep_Item);
- pragma Inline (Next_Use_Clause);
- pragma Inline (No_Ctrl_Actions);
- pragma Inline (No_Elaboration_Check);
- pragma Inline (No_Entities_Ref_In_Spec);
- pragma Inline (No_Initialization);
- pragma Inline (No_Minimize_Eliminate);
- pragma Inline (No_Side_Effect_Removal);
- pragma Inline (No_Truncation);
- pragma Inline (Null_Excluding_Subtype);
- pragma Inline (Null_Exclusion_Present);
- pragma Inline (Null_Exclusion_In_Return_Present);
- pragma Inline (Null_Present);
- pragma Inline (Null_Record_Present);
- pragma Inline (Null_Statement);
- pragma Inline (Object_Definition);
- pragma Inline (Of_Present);
- pragma Inline (Original_Discriminant);
- pragma Inline (Original_Entity);
- pragma Inline (Others_Discrete_Choices);
- pragma Inline (Out_Present);
- pragma Inline (Parameter_Associations);
- pragma Inline (Parameter_Specifications);
- pragma Inline (Parameter_Type);
- pragma Inline (Parent_Spec);
- pragma Inline (Parent_With);
- pragma Inline (Position);
- pragma Inline (Pragma_Argument_Associations);
- pragma Inline (Pragma_Identifier);
- pragma Inline (Pragmas_After);
- pragma Inline (Pragmas_Before);
- pragma Inline (Pre_Post_Conditions);
- pragma Inline (Prefix);
- pragma Inline (Premature_Use);
- pragma Inline (Present_Expr);
- pragma Inline (Prev_Ids);
- pragma Inline (Prev_Use_Clause);
- pragma Inline (Print_In_Hex);
- pragma Inline (Private_Declarations);
- pragma Inline (Private_Present);
- pragma Inline (Procedure_To_Call);
- pragma Inline (Proper_Body);
- pragma Inline (Protected_Definition);
- pragma Inline (Protected_Present);
- pragma Inline (Raises_Constraint_Error);
- pragma Inline (Range_Constraint);
- pragma Inline (Range_Expression);
- pragma Inline (Real_Range_Specification);
- pragma Inline (Realval);
- pragma Inline (Reason);
- pragma Inline (Record_Extension_Part);
- pragma Inline (Redundant_Use);
- pragma Inline (Renaming_Exception);
- pragma Inline (Result_Definition);
- pragma Inline (Return_Object_Declarations);
- pragma Inline (Return_Statement_Entity);
- pragma Inline (Reverse_Present);
- pragma Inline (Right_Opnd);
- pragma Inline (Rounded_Result);
- pragma Inline (Save_Invocation_Graph_Of_Body);
- pragma Inline (SCIL_Controlling_Tag);
- pragma Inline (SCIL_Entity);
- pragma Inline (SCIL_Tag_Value);
- pragma Inline (SCIL_Target_Prim);
- pragma Inline (Scope);
- pragma Inline (Select_Alternatives);
- pragma Inline (Selector_Name);
- pragma Inline (Selector_Names);
- pragma Inline (Shift_Count_OK);
- pragma Inline (Source_Type);
- pragma Inline (Specification);
- pragma Inline (Split_PPC);
- pragma Inline (Statements);
- pragma Inline (Storage_Pool);
- pragma Inline (Subpool_Handle_Name);
- pragma Inline (Strval);
- pragma Inline (Subtype_Indication);
- pragma Inline (Subtype_Mark);
- pragma Inline (Subtype_Marks);
- pragma Inline (Suppress_Assignment_Checks);
- pragma Inline (Suppress_Loop_Warnings);
- pragma Inline (Synchronized_Present);
- pragma Inline (Tagged_Present);
- pragma Inline (Target);
- pragma Inline (Target_Type);
- pragma Inline (Task_Definition);
- pragma Inline (Task_Present);
- pragma Inline (Then_Actions);
- pragma Inline (Then_Statements);
- pragma Inline (Triggering_Alternative);
- pragma Inline (Triggering_Statement);
- pragma Inline (TSS_Elist);
- pragma Inline (Type_Definition);
- pragma Inline (Uneval_Old_Accept);
- pragma Inline (Uneval_Old_Warn);
- pragma Inline (Unit);
- pragma Inline (Uninitialized_Variable);
- pragma Inline (Unknown_Discriminants_Present);
- pragma Inline (Unreferenced_In_Spec);
- pragma Inline (Variant_Part);
- pragma Inline (Variants);
- pragma Inline (Visible_Declarations);
- pragma Inline (Used_Operations);
- pragma Inline (Was_Attribute_Reference);
- pragma Inline (Was_Default_Init_Box_Association);
- pragma Inline (Was_Expression_Function);
- pragma Inline (Was_Originally_Stub);
-
- pragma Inline (Set_Abort_Present);
- pragma Inline (Set_Abortable_Part);
- pragma Inline (Set_Abstract_Present);
- pragma Inline (Set_Accept_Handler_Records);
- pragma Inline (Set_Accept_Statement);
- pragma Inline (Set_Access_Definition);
- pragma Inline (Set_Access_To_Subprogram_Definition);
- pragma Inline (Set_Access_Types_To_Process);
- pragma Inline (Set_Actions);
- pragma Inline (Set_Activation_Chain_Entity);
- pragma Inline (Set_Acts_As_Spec);
- pragma Inline (Set_Actual_Designated_Subtype);
- pragma Inline (Set_Address_Warning_Posted);
- pragma Inline (Set_Aggregate_Bounds);
- pragma Inline (Set_Aliased_Present);
- pragma Inline (Set_Alloc_For_BIP_Return);
- pragma Inline (Set_All_Others);
- pragma Inline (Set_All_Present);
- pragma Inline (Set_Alternatives);
- pragma Inline (Set_Ancestor_Part);
- pragma Inline (Set_Array_Aggregate);
- pragma Inline (Set_Aspect_On_Partial_View);
- pragma Inline (Set_Aspect_Rep_Item);
- pragma Inline (Set_Assignment_OK);
- pragma Inline (Set_Associated_Node);
- pragma Inline (Set_At_End_Proc);
- pragma Inline (Set_Atomic_Sync_Required);
- pragma Inline (Set_Attribute_Name);
- pragma Inline (Set_Aux_Decls_Node);
- pragma Inline (Set_Backwards_OK);
- pragma Inline (Set_Bad_Is_Detected);
- pragma Inline (Set_Body_Required);
- pragma Inline (Set_Body_To_Inline);
- pragma Inline (Set_Box_Present);
- pragma Inline (Set_By_Ref);
- pragma Inline (Set_Char_Literal_Value);
- pragma Inline (Set_Chars);
- pragma Inline (Set_Check_Address_Alignment);
- pragma Inline (Set_Choice_Parameter);
- pragma Inline (Set_Choices);
- pragma Inline (Set_Class_Present);
- pragma Inline (Set_Classifications);
- pragma Inline (Set_Cleanup_Actions);
- pragma Inline (Set_Comes_From_Extended_Return_Statement);
- pragma Inline (Set_Compile_Time_Known_Aggregate);
- pragma Inline (Set_Component_Associations);
- pragma Inline (Set_Component_Clauses);
- pragma Inline (Set_Component_Definition);
- pragma Inline (Set_Component_Items);
- pragma Inline (Set_Component_List);
- pragma Inline (Set_Component_Name);
- pragma Inline (Set_Componentwise_Assignment);
- pragma Inline (Set_Condition);
- pragma Inline (Set_Condition_Actions);
- pragma Inline (Set_Config_Pragmas);
- pragma Inline (Set_Constant_Present);
- pragma Inline (Set_Constraint);
- pragma Inline (Set_Constraints);
- pragma Inline (Set_Context_Installed);
- pragma Inline (Set_Context_Items);
- pragma Inline (Set_Context_Pending);
- pragma Inline (Set_Contract_Test_Cases);
- pragma Inline (Set_Controlling_Argument);
- pragma Inline (Set_Conversion_OK);
- pragma Inline (Set_Convert_To_Return_False);
- pragma Inline (Set_Corresponding_Aspect);
- pragma Inline (Set_Corresponding_Body);
- pragma Inline (Set_Corresponding_Formal_Spec);
- pragma Inline (Set_Corresponding_Generic_Association);
- pragma Inline (Set_Corresponding_Integer_Value);
- pragma Inline (Set_Corresponding_Spec);
- pragma Inline (Set_Corresponding_Spec_Of_Stub);
- pragma Inline (Set_Corresponding_Stub);
- pragma Inline (Set_Dcheck_Function);
- pragma Inline (Set_Declarations);
- pragma Inline (Set_Default_Expression);
- pragma Inline (Set_Default_Name);
- pragma Inline (Set_Default_Storage_Pool);
- pragma Inline (Set_Defining_Identifier);
- pragma Inline (Set_Defining_Unit_Name);
- pragma Inline (Set_Delay_Alternative);
- pragma Inline (Set_Delay_Statement);
- pragma Inline (Set_Delta_Expression);
- pragma Inline (Set_Digits_Expression);
- pragma Inline (Set_Discr_Check_Funcs_Built);
- pragma Inline (Set_Discrete_Choices);
- pragma Inline (Set_Discrete_Range);
- pragma Inline (Set_Discrete_Subtype_Definition);
- pragma Inline (Set_Discrete_Subtype_Definitions);
- pragma Inline (Set_Discriminant_Specifications);
- pragma Inline (Set_Discriminant_Type);
- pragma Inline (Set_Do_Accessibility_Check);
- pragma Inline (Set_Do_Discriminant_Check);
- pragma Inline (Set_Do_Division_Check);
- pragma Inline (Set_Do_Length_Check);
- pragma Inline (Set_Do_Overflow_Check);
- pragma Inline (Set_Do_Range_Check);
- pragma Inline (Set_Do_Storage_Check);
- pragma Inline (Set_Do_Tag_Check);
- pragma Inline (Set_Elaborate_All_Desirable);
- pragma Inline (Set_Elaborate_All_Present);
- pragma Inline (Set_Elaborate_Desirable);
- pragma Inline (Set_Elaborate_Present);
- pragma Inline (Set_Else_Actions);
- pragma Inline (Set_Else_Statements);
- pragma Inline (Set_Elsif_Parts);
- pragma Inline (Set_Enclosing_Variant);
- pragma Inline (Set_End_Label);
- pragma Inline (Set_End_Span);
- pragma Inline (Set_Entity);
- pragma Inline (Set_Entry_Body_Formal_Part);
- pragma Inline (Set_Entry_Call_Alternative);
- pragma Inline (Set_Entry_Call_Statement);
- pragma Inline (Set_Entry_Direct_Name);
- pragma Inline (Set_Entry_Index);
- pragma Inline (Set_Entry_Index_Specification);
- pragma Inline (Set_Etype);
- pragma Inline (Set_Exception_Choices);
- pragma Inline (Set_Exception_Handlers);
- pragma Inline (Set_Exception_Junk);
- pragma Inline (Set_Exception_Label);
- pragma Inline (Set_Expansion_Delayed);
- pragma Inline (Set_Explicit_Actual_Parameter);
- pragma Inline (Set_Explicit_Generic_Actual_Parameter);
- pragma Inline (Set_Expression);
- pragma Inline (Set_Expression_Copy);
- pragma Inline (Set_Expressions);
- pragma Inline (Set_First_Bit);
- pragma Inline (Set_First_Inlined_Subprogram);
- pragma Inline (Set_First_Name);
- pragma Inline (Set_First_Named_Actual);
- pragma Inline (Set_First_Real_Statement);
- pragma Inline (Set_First_Subtype_Link);
- pragma Inline (Set_Float_Truncate);
- pragma Inline (Set_Formal_Type_Definition);
- pragma Inline (Set_Forwards_OK);
- pragma Inline (Set_From_Aspect_Specification);
- pragma Inline (Set_From_At_End);
- pragma Inline (Set_From_At_Mod);
- pragma Inline (Set_From_Conditional_Expression);
- pragma Inline (Set_From_Default);
- pragma Inline (Set_Generalized_Indexing);
- pragma Inline (Set_Generic_Associations);
- pragma Inline (Set_Generic_Formal_Declarations);
- pragma Inline (Set_Generic_Parent);
- pragma Inline (Set_Generic_Parent_Type);
- pragma Inline (Set_Handled_Statement_Sequence);
- pragma Inline (Set_Handler_List_Entry);
- pragma Inline (Set_Has_Created_Identifier);
- pragma Inline (Set_Has_Dereference_Action);
- pragma Inline (Set_Has_Dynamic_Length_Check);
- pragma Inline (Set_Has_Init_Expression);
- pragma Inline (Set_Has_Local_Raise);
- pragma Inline (Set_Has_No_Elaboration_Code);
- pragma Inline (Set_Has_Pragma_Suppress_All);
- pragma Inline (Set_Has_Private_View);
- pragma Inline (Set_Has_Relative_Deadline_Pragma);
- pragma Inline (Set_Has_Self_Reference);
- pragma Inline (Set_Has_SP_Choice);
- pragma Inline (Set_Has_Storage_Size_Pragma);
- pragma Inline (Set_Has_Target_Names);
- pragma Inline (Set_Has_Wide_Character);
- pragma Inline (Set_Has_Wide_Wide_Character);
- pragma Inline (Set_Header_Size_Added);
- pragma Inline (Set_Hidden_By_Use_Clause);
- pragma Inline (Set_High_Bound);
- pragma Inline (Set_Identifier);
- pragma Inline (Set_Implicit_With);
- pragma Inline (Set_Import_Interface_Present);
- pragma Inline (Set_In_Present);
- pragma Inline (Set_Includes_Infinities);
- pragma Inline (Set_Incomplete_View);
- pragma Inline (Set_Inherited_Discriminant);
- pragma Inline (Set_Instance_Spec);
- 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);
- pragma Inline (Set_Is_Boolean_Aspect);
- pragma Inline (Set_Is_Checked);
- pragma Inline (Set_Is_Checked_Ghost_Pragma);
- pragma Inline (Set_Is_Component_Left_Opnd);
- pragma Inline (Set_Is_Component_Right_Opnd);
- pragma Inline (Set_Is_Controlling_Actual);
- pragma Inline (Set_Is_Declaration_Level_Node);
- pragma Inline (Set_Is_Delayed_Aspect);
- pragma Inline (Set_Is_Disabled);
- pragma Inline (Set_Is_Dispatching_Call);
- pragma Inline (Set_Is_Dynamic_Coextension);
- pragma Inline (Set_Is_Effective_Use_Clause);
- pragma Inline (Set_Is_Elaboration_Checks_OK_Node);
- pragma Inline (Set_Is_Elaboration_Code);
- pragma Inline (Set_Is_Elaboration_Warnings_OK_Node);
- pragma Inline (Set_Is_Elsif);
- pragma Inline (Set_Is_Entry_Barrier_Function);
- pragma Inline (Set_Is_Expanded_Build_In_Place_Call);
- pragma Inline (Set_Is_Expanded_Contract);
- pragma Inline (Set_Is_Finalization_Wrapper);
- pragma Inline (Set_Is_Folded_In_Parser);
- pragma Inline (Set_Is_Generic_Contract_Pragma);
- pragma Inline (Set_Is_Homogeneous_Aggregate);
- pragma Inline (Set_Is_Ignored);
- pragma Inline (Set_Is_Ignored_Ghost_Pragma);
- pragma Inline (Set_Is_In_Discriminant_Check);
- pragma Inline (Set_Is_Inherited_Pragma);
- pragma Inline (Set_Is_Initialization_Block);
- pragma Inline (Set_Is_Known_Guaranteed_ABE);
- pragma Inline (Set_Is_Machine_Number);
- pragma Inline (Set_Is_Null_Loop);
- pragma Inline (Set_Is_Overloaded);
- pragma Inline (Set_Is_Power_Of_2_For_Shift);
- pragma Inline (Set_Is_Preelaborable_Call);
- pragma Inline (Set_Is_Prefixed_Call);
- pragma Inline (Set_Is_Protected_Subprogram_Body);
- pragma Inline (Set_Is_Qualified_Universal_Literal);
- pragma Inline (Set_Is_Read);
- pragma Inline (Set_Is_Source_Call);
- pragma Inline (Set_Is_SPARK_Mode_On_Node);
- pragma Inline (Set_Is_Static_Coextension);
- pragma Inline (Set_Is_Static_Expression);
- pragma Inline (Set_Is_Subprogram_Descriptor);
- pragma Inline (Set_Is_Task_Allocation_Block);
- pragma Inline (Set_Is_Task_Body_Procedure);
- pragma Inline (Set_Is_Task_Master);
- pragma Inline (Set_Is_Write);
- pragma Inline (Set_Iterator_Filter);
- pragma Inline (Set_Iteration_Scheme);
- pragma Inline (Set_Iterator_Specification);
- pragma Inline (Set_Itype);
- pragma Inline (Set_Key_Expression);
- pragma Inline (Set_Kill_Range_Check);
- pragma Inline (Set_Label_Construct);
- pragma Inline (Set_Last_Bit);
- pragma Inline (Set_Last_Name);
- pragma Inline (Set_Left_Opnd);
- pragma Inline (Set_Library_Unit);
- pragma Inline (Set_Limited_Present);
- pragma Inline (Set_Limited_View_Installed);
- pragma Inline (Set_Literals);
- pragma Inline (Set_Local_Raise_Not_OK);
- pragma Inline (Set_Local_Raise_Statements);
- pragma Inline (Set_Loop_Actions);
- pragma Inline (Set_Loop_Parameter_Specification);
- pragma Inline (Set_Low_Bound);
- pragma Inline (Set_Mod_Clause);
- pragma Inline (Set_More_Ids);
- pragma Inline (Set_Must_Be_Byte_Aligned);
- pragma Inline (Set_Must_Not_Freeze);
- pragma Inline (Set_Must_Not_Override);
- pragma Inline (Set_Must_Override);
- pragma Inline (Set_Name);
- pragma Inline (Set_Names);
- pragma Inline (Set_Next_Entity);
- pragma Inline (Set_Next_Exit_Statement);
- pragma Inline (Set_Next_Implicit_With);
- pragma Inline (Set_Next_Named_Actual);
- pragma Inline (Set_Next_Pragma);
- pragma Inline (Set_Next_Rep_Item);
- pragma Inline (Set_Next_Use_Clause);
- pragma Inline (Set_No_Ctrl_Actions);
- pragma Inline (Set_No_Elaboration_Check);
- pragma Inline (Set_No_Entities_Ref_In_Spec);
- pragma Inline (Set_No_Initialization);
- pragma Inline (Set_No_Minimize_Eliminate);
- pragma Inline (Set_No_Side_Effect_Removal);
- pragma Inline (Set_No_Truncation);
- pragma Inline (Set_Null_Excluding_Subtype);
- pragma Inline (Set_Null_Exclusion_Present);
- pragma Inline (Set_Null_Exclusion_In_Return_Present);
- pragma Inline (Set_Null_Present);
- pragma Inline (Set_Null_Record_Present);
- pragma Inline (Set_Null_Statement);
- pragma Inline (Set_Object_Definition);
- pragma Inline (Set_Of_Present);
- pragma Inline (Set_Original_Discriminant);
- pragma Inline (Set_Original_Entity);
- pragma Inline (Set_Others_Discrete_Choices);
- pragma Inline (Set_Out_Present);
- pragma Inline (Set_Parameter_Associations);
- pragma Inline (Set_Parameter_Specifications);
- pragma Inline (Set_Parameter_Type);
- pragma Inline (Set_Parent_Spec);
- pragma Inline (Set_Parent_With);
- pragma Inline (Set_Position);
- pragma Inline (Set_Pragma_Argument_Associations);
- pragma Inline (Set_Pragma_Identifier);
- pragma Inline (Set_Pragmas_After);
- pragma Inline (Set_Pragmas_Before);
- pragma Inline (Set_Pre_Post_Conditions);
- pragma Inline (Set_Prefix);
- pragma Inline (Set_Premature_Use);
- pragma Inline (Set_Present_Expr);
- pragma Inline (Set_Prev_Ids);
- pragma Inline (Set_Prev_Use_Clause);
- pragma Inline (Set_Print_In_Hex);
- pragma Inline (Set_Private_Declarations);
- pragma Inline (Set_Private_Present);
- pragma Inline (Set_Procedure_To_Call);
- pragma Inline (Set_Proper_Body);
- pragma Inline (Set_Protected_Definition);
- pragma Inline (Set_Protected_Present);
- pragma Inline (Set_Raises_Constraint_Error);
- pragma Inline (Set_Range_Constraint);
- pragma Inline (Set_Range_Expression);
- pragma Inline (Set_Real_Range_Specification);
- pragma Inline (Set_Realval);
- pragma Inline (Set_Reason);
- pragma Inline (Set_Record_Extension_Part);
- pragma Inline (Set_Redundant_Use);
- pragma Inline (Set_Renaming_Exception);
- pragma Inline (Set_Result_Definition);
- pragma Inline (Set_Return_Object_Declarations);
- pragma Inline (Set_Reverse_Present);
- pragma Inline (Set_Right_Opnd);
- pragma Inline (Set_Rounded_Result);
- pragma Inline (Set_Save_Invocation_Graph_Of_Body);
- pragma Inline (Set_SCIL_Controlling_Tag);
- pragma Inline (Set_SCIL_Entity);
- pragma Inline (Set_SCIL_Tag_Value);
- pragma Inline (Set_SCIL_Target_Prim);
- pragma Inline (Set_Scope);
- pragma Inline (Set_Select_Alternatives);
- pragma Inline (Set_Selector_Name);
- pragma Inline (Set_Selector_Names);
- pragma Inline (Set_Shift_Count_OK);
- pragma Inline (Set_Source_Type);
- pragma Inline (Set_Split_PPC);
- pragma Inline (Set_Statements);
- pragma Inline (Set_Storage_Pool);
- pragma Inline (Set_Strval);
- pragma Inline (Set_Subpool_Handle_Name);
- pragma Inline (Set_Subtype_Indication);
- pragma Inline (Set_Subtype_Mark);
- pragma Inline (Set_Subtype_Marks);
- pragma Inline (Set_Suppress_Assignment_Checks);
- pragma Inline (Set_Suppress_Loop_Warnings);
- pragma Inline (Set_Synchronized_Present);
- pragma Inline (Set_TSS_Elist);
- pragma Inline (Set_Tagged_Present);
- pragma Inline (Set_Target);
- pragma Inline (Set_Target_Type);
- pragma Inline (Set_Task_Definition);
- pragma Inline (Set_Task_Present);
- pragma Inline (Set_Then_Actions);
- pragma Inline (Set_Then_Statements);
- pragma Inline (Set_Triggering_Alternative);
- pragma Inline (Set_Triggering_Statement);
- pragma Inline (Set_Type_Definition);
- pragma Inline (Set_Uneval_Old_Accept);
- pragma Inline (Set_Uneval_Old_Warn);
- pragma Inline (Set_Unit);
- pragma Inline (Set_Uninitialized_Variable);
- pragma Inline (Set_Unknown_Discriminants_Present);
- pragma Inline (Set_Unreferenced_In_Spec);
- pragma Inline (Set_Used_Operations);
- pragma Inline (Set_Variant_Part);
- pragma Inline (Set_Variants);
- pragma Inline (Set_Visible_Declarations);
- pragma Inline (Set_Was_Attribute_Reference);
- pragma Inline (Set_Was_Default_Init_Box_Association);
- pragma Inline (Set_Was_Expression_Function);
- pragma Inline (Set_Was_Originally_Stub);
+ -- Chars is set to Error_Name
+ -- Etype
end Sinfo;