summaryrefslogtreecommitdiff
path: root/gcc/ada/sinfo.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/sinfo.ads')
-rw-r--r--gcc/ada/sinfo.ads251
1 files changed, 197 insertions, 54 deletions
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 7f3fe5cf6c4..014228b5a9c 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1992-2002, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2003, 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- --
@@ -74,8 +74,7 @@ package Sinfo is
-- 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 the body, the calls to the Dcheck_Node debug
- -- procedure will need cross-references adding in alphabetical order.
+ -- expression fields.
-- In addition, if any of the standard expression fields is changed, then
-- the utiliy program which creates the Treeprs spec (in file treeprs.ads)
@@ -86,9 +85,9 @@ package Sinfo is
-- 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
- -- In the body (sinfo), add entries to the Dcheck calls for all
- -- its fields (except standard expression fields) to include
- -- the new node in the debug cross-reference list
+ -- 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 appropraite section to the case statement in exp_util.adb
@@ -615,6 +614,15 @@ package Sinfo is
-- and thus the result is passed by reference rather than copied
-- another time.
+ -- Check_Address_Alignment (Flag11-Sem)
+ -- 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 clause applies. The reason that we need this flag is that
+ -- we want to check for range checks being suppressed at the point
+ -- where the attribute definition clause is given, rather than
+ -- testing this at the freeze point.
+
-- Compile_Time_Known_Aggregate (Flag18-Sem)
-- Present in N_Aggregate nodes. Set for aggregates which can be
-- fully evaluated at compile time without raising constraint error.
@@ -653,12 +661,10 @@ package Sinfo is
-- result, with no regard to the small operand.
-- Corresponding_Body (Node5-Sem)
- -- This field is set in subprogram declarations, where it is needed
- -- if a pragma Inline is present and the subprogram is called, in
- -- generic declarations if the generic is instantiated, and also in
- -- package declarations that contain inlined subprograms that are
- -- called, or generic declarations that are instantiated. It points
- -- to the defining entity for the 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_Generic_Association (Node5-Sem)
-- This field is defined for object declarations and object renaming
@@ -724,14 +730,6 @@ package Sinfo is
-- discriminant checking functions are constructed. The purpose is to
-- avoid attempting to set these functions more than once.
- -- Do_Access_Check (Flag11-Sem)
- -- This flag is set on nodes with a Prefix field that can be an object
- -- of an access type. If the flag is set, it indicates that a check is
- -- required to ensure that the value of the referenced object is not
- -- null. The actual check (which may be explicit or implicit by means
- -- of some trap), is generated by Gigi (all the front end does is to
- -- set this flag to request the trap).
-
-- 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
@@ -740,8 +738,8 @@ package Sinfo is
-- Do_Discriminant_Check (Flag13-Sem)
-- 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 dealt with by
- -- Gigi (all the front end does is to set the flag).
+ -- associated with the selector. The actual check is generated by the
+ -- expander when processing selected components.
-- Do_Division_Check (Flag13-Sem)
-- This flag is set on a division operator (/ mod rem) to indicate
@@ -796,7 +794,7 @@ package Sinfo is
-- The expression of a type conversion. In this case the range check
-- is against the target type of the conversion. See also the use of
-- Do_Overflow_Check on a type conversion. The distinction is that
- -- the ovrflow check protects against a value that is outside the
+ -- the overflow check protects against a value that is outside the
-- range of the target base type, whereas a range check checks that
-- the resulting value (which is a value of the base type of the
-- target type), satisfies the range constraint of the target type.
@@ -1039,7 +1037,7 @@ package Sinfo is
-- introduced by these use clauses have priority over global ones,
-- and outer entities must be explicitly hidden/restored on exit.
- -- Implicit_With (Flag17-Sem)
+ -- Implicit_With (Flag16-Sem)
-- This flag is set in the N_With_Clause node that is implicitly
-- generated for runtime units that are loaded by the expander, and
-- also for package System, if it is loaded implicitly by a use of
@@ -1076,11 +1074,24 @@ package Sinfo is
-- in a dispatching call. It is off in all other cases. See Sem_Disp
-- for details of its use.
+ -- Is_In_Discriminant_Check (Flag11-Sem)
+ -- 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 disriminant check may be optimized away!)
+
-- Is_Machine_Number (Flag11-Sem)
-- 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)
+ -- 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
+ -- suppress any warnings that would otherwise be issued inside the
+ -- loop since they are probably not useful.
+
-- Is_Power_Of_2_For_Shift (Flag13-Sem)
-- A flag present only in N_Op_Expon nodes. It is set when the
-- exponentiation is of the forma 2 ** N, where the type of N is
@@ -1178,6 +1189,14 @@ package Sinfo is
-- 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)
+ -- Present in With_Clauses and in package specifications. If set on a
+ -- with_clause, it indicates that this clause has created the current
+ -- limited view of the designated package. On a package specification,
+ -- it indicates that the limited view has already been created because
+ -- the package is mentioned in a limited_with_clause in the closure of
+ -- the unit being compiled.
+
-- Must_Be_Byte_Aligned (Flag14-Sem)
-- This flag is present in N_Attribute_Reference nodes. It can be set
-- only for the Address and Unrestricted_Access attributes. If set it
@@ -1185,8 +1204,12 @@ package Sinfo is
-- on a byte (more accurately a storage unit) boundary. If necessary,
-- a copy of the object is to be made before taking the address (this
-- copy is in the current scope on the stack frame). This is used for
- -- certainly cases of code generated by the expander that passes
+ -- certain cases of code generated by the expander that passes
-- parameters by address.
+ --
+ -- The reason the copy is not made by the front end is that the back
+ -- end 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)
-- A flag present in all expression nodes. Normally expressions cause
@@ -1227,7 +1250,7 @@ package Sinfo is
-- No_Ctrl_Actions (Flag7-Sem)
-- Present in N_Assignment_Statement to indicate that no finalize nor
-- nor adjust should take place on this assignment eventhough the rhs
- -- is controlled. This is used in init_procs and aggregate expansions
+ -- is controlled. This is used in init procs and aggregate expansions
-- where the generated assignments are more initialisations than real
-- assignments.
@@ -1242,11 +1265,23 @@ package Sinfo is
-- No_Initialization (Flag13-Sem)
-- Present in N_Object_Declaration & N_Allocator to indicate
-- that the object must not be initialized (by Initialize or a
- -- call to _init_proc). This is needed for controlled aggregates.
+ -- call to an init proc). This is needed for controlled aggregates.
-- When the Object declaration has an expression, this flag means
-- that this expression should not be taken into account (needed
-- for in place initialization with aggregates)
+ -- No_Truncation (Flag17-Sem)
+ -- 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
+ -- higher order bits of the source, and then sign/zero extend the result
+ -- to form the output value. But if this flag is set, then we do not do
+ -- any truncation, so for example, if an 8 bit input is converted to a
+ -- 5 bit result which is in fact stored in 8 bits, then the high order
+ -- three bits of the target result will be copied from the source. This
+ -- is used for properly setting out of range values for use by pragmas
+ -- Initialize_Scalars and Normalize_Scalars.
+
-- OK_For_Stream (Flag4-Sem)
-- Present in N_Attribute_Definition clauses for stream attributes. If
-- set, indicates that the attribute is permitted even though the type
@@ -1260,10 +1295,19 @@ package Sinfo is
-- Original_Discriminant (Node2-Sem)
-- 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
+ -- 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)
+ -- 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
+ -- Original_Entity is empty. This field is needed to handle properly
+ -- named numbers in generic units, where the Associated_Node field
+ -- interferes with the Entity field, making it impossible to preserve
+ -- the original entity at the point of instantiation (ASIS problem).
+
-- Others_Discrete_Choices (List1-Sem)
-- When a case statement or variant is analyzed, the semantic checks
-- determine the actual list of choices that correspond to an others
@@ -1598,12 +1642,16 @@ package Sinfo is
-- N_Integer_Literal
-- Sloc points to literal
+ -- Original_Entity (Node2-Sem) If not Empty, holds Named_Number that
+ -- has been constant-folded into its literal value.
-- Intval (Uint3) contains integer value of literal
-- plus fields for expression
-- Print_In_Hex (Flag13-Sem)
-- N_Real_Literal
-- Sloc points to literal
+ -- Original_Entity (Node2-Sem) 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)
@@ -1900,6 +1948,16 @@ package Sinfo is
-- Note: the contents of the Expression field must be ignored (i.e.
-- treated as though it were Empty) if No_Initialization is set True.
+ -- Note: the back end places some restrictions on the form of the
+ -- Expression field. If the object being declared is Atomic, then
+ -- the Expression may not have the form of an aggregate (since this
+ -- might cause the back end to generate separate assignments). It
+ -- also cannot be a reference to an object marked as a true constant
+ -- (Is_True_Constant flag set), where the object is itself initalized
+ -- with an aggregate. If necessary the front end must generate an
+ -- extra temporary (with Is_True_Constant set False), and initialize
+ -- this temporary as required (the temporary itself is not atomic).
+
-- N_Object_Declaration
-- Sloc points to first identifier
-- Defining_Identifier (Node1)
@@ -2685,7 +2743,6 @@ package Sinfo is
-- N_Explicit_Dereference
-- Sloc points to ALL
-- Prefix (Node3)
- -- Do_Access_Check (Flag11-Sem)
-- plus fields for expression
-------------------------------
@@ -2708,7 +2765,6 @@ package Sinfo is
-- Sloc contains a copy of the Sloc value of the Prefix
-- Prefix (Node3)
-- Expressions (List1)
- -- Do_Access_Check (Flag11-Sem)
-- plus fields for expression
-- Note: if any of the subscripts requires a range check, then the
@@ -2733,7 +2789,6 @@ package Sinfo is
-- Sloc points to first token of prefix
-- Prefix (Node3)
-- Discrete_Range (Node4)
- -- Do_Access_Check (Flag11-Sem)
-- plus fields for expression
-------------------------------
@@ -2751,8 +2806,8 @@ package Sinfo is
-- Prefix (Node3)
-- Selector_Name (Node2)
-- Associated_Node (Node4-Sem)
- -- Do_Access_Check (Flag11-Sem)
-- Do_Discriminant_Check (Flag13-Sem)
+ -- Is_In_Discriminant_Check (Flag11-Sem)
-- plus fields for expression
--------------------------
@@ -2831,7 +2886,6 @@ package Sinfo is
-- Expressions (List1) (set to No_List if no associated expressions)
-- Entity (Node4-Sem) used if the attribute yields a type
-- Associated_Node (Node4-Sem)
- -- Do_Access_Check (Flag11-Sem)
-- Do_Overflow_Check (Flag17-Sem)
-- Redundant_Use (Flag13-Sem)
-- OK_For_Stream (Flag4-Sem)
@@ -3353,9 +3407,9 @@ package Sinfo is
-- Sloc points to first token of subtype mark
-- Subtype_Mark (Node4)
-- Expression (Node3)
- -- Do_Overflow_Check (Flag17-Sem)
-- Do_Tag_Check (Flag13-Sem)
-- Do_Length_Check (Flag4-Sem)
+ -- Do_Overflow_Check (Flag17-Sem)
-- Float_Truncate (Flag11-Sem)
-- Rounded_Result (Flag18-Sem)
-- Conversion_OK (Flag14-Sem)
@@ -3505,6 +3559,16 @@ package Sinfo is
-- is set in the Expression (right hand side), with the check being
-- done against the type of the Name (left hand side).
+ -- Note: the back end places some restrictions on the form of the
+ -- Expression field. If the object being assigned to is Atomic, then
+ -- the Expression may not have the form of an aggregate (since this
+ -- might cause the back end to generate separate assignments). It
+ -- also cannot be a reference to an object marked as a true constant
+ -- (Is_True_Constant flag set), where the object is itself initalized
+ -- with an aggregate. If necessary the front end must generate an
+ -- extra temporary (with Is_True_Constant set False), and initialize
+ -- this temporary as required (the temporary itself is not atomic).
+
-----------------------
-- 5.3 If Statement --
-----------------------
@@ -3608,6 +3672,7 @@ package Sinfo is
-- Statements (List3)
-- End_Label (Node4)
-- Has_Created_Identifier (Flag15)
+ -- Is_Null_Loop (Flag16)
--------------------------
-- 5.5 Iteration Scheme --
@@ -4083,6 +4148,7 @@ package Sinfo is
-- part present)
-- End_Label (Node4)
-- Generic_Parent (Node5-Sem)
+ -- Limited_View_Installed (Flag18-Sem)
-----------------------
-- 7.1 Package Body --
@@ -4464,6 +4530,7 @@ package Sinfo is
-- 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)
-----------------------------
-- 9.5.2 Accept statement --
@@ -4912,6 +4979,7 @@ package Sinfo is
-- 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)
--------------------------
-- 10.1.1 Library Item --
@@ -5003,7 +5071,9 @@ package Sinfo is
-- Context_Installed (Flag13-Sem)
-- Elaborate_Present (Flag4-Sem)
-- Elaborate_All_Present (Flag15-Sem)
- -- Implicit_With (Flag17-Sem)
+ -- Implicit_With (Flag16-Sem)
+ -- Limited_Present (Flag17) set if LIMITED is present
+ -- Limited_View_Installed (Flag18-Sem)
-- Unreferenced_In_Spec (Flag7-Sem)
-- No_Entities_Ref_In_Spec (Flag8-Sem)
@@ -5621,13 +5691,28 @@ package Sinfo is
-- In Ada 83, the expression must be a simple expression and the
-- local name must be a direct name.
- -- Note: The only attribute definition clause that is processed
- -- by Gigi is the alignment clause (for all other cases, the
- -- information is extracted by the front end and either results
- -- in setting entity information, e.g. Esize for the Size case,
- -- or in appropriate expansion actions (e.g. in the storage size
- -- case). For the alignment case, Gigi requires that the expression
- -- be an integer literal.
+ -- Note: the only attribute definition clause that is processed by
+ -- gigi is an address clause. For all other cases, the information
+ -- is extracted by the front end and either results in setting entity
+ -- information, e.g. Esize for the Size clause, or in appropriate
+ -- expansion actions (e.g. in the case of Storage_Size).
+
+ -- For an address clause, Gigi constructs the appropriate addressing
+ -- code. It also ensures that no aliasing optimizations are made
+ -- for the object for which the address clause appears.
+
+ -- Note: for an address clause used to achieve an overlay:
+
+ -- A : Integer;
+ -- B : Integer;
+ -- for B'Address use A'Address;
+
+ -- the above rule means that Gigi will ensure that no optimizations
+ -- will be made for B that would violate the implementation advice
+ -- of RM 13.3(19). However, this advice applies only to B and not
+ -- to A, which seems unfortunate. The GNAT front end will mark the
+ -- object A as volatile to also prevent unwanted optimization
+ -- assumptions based on no aliasing being made for B.
-- N_Attribute_Definition_Clause
-- Sloc points to FOR
@@ -5636,6 +5721,7 @@ package Sinfo is
-- Expression (Node3) the expression or name
-- Next_Rep_Item (Node4-Sem)
-- From_At_Mod (Flag4-Sem)
+ -- Check_Address_Alignment (Flag11-Sem)
---------------------------------------------
-- 13.4 Enumeration representation clause --
@@ -6216,6 +6302,7 @@ package Sinfo is
-- Subtype_Mark (Node4)
-- Expression (Node3)
-- Kill_Range_Check (Flag11-Sem)
+ -- No_Truncation (Flag17-Sem)
-- plus fields for expression
-- Note: in the case where a debug source file is generated, the Sloc
@@ -6334,12 +6421,16 @@ package Sinfo is
-- N_Has_Etype, N_Has_Chars, N_Has_Entity
N_Op_Add,
N_Op_Concat,
- N_Op_Divide,
N_Op_Expon,
+ N_Op_Subtract,
+
+ -- N_Binary_Op, N_Op, N_Subexpr, N_Has_Treat_Fixed_As_Integer
+ -- N_Has_Etype, N_Has_Chars, N_Has_Entity
+
+ N_Op_Divide,
N_Op_Mod,
N_Op_Multiply,
N_Op_Rem,
- N_Op_Subtract,
-- N_Binary_Op, N_Op, N_Subexpr, N_Has_Etype
-- N_Has_Entity, N_Has_Chars, N_Op_Boolean
@@ -6651,6 +6742,10 @@ package Sinfo is
N_Error ..
N_Subtype_Indication;
+ subtype N_Has_Treat_Fixed_As_Integer 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;
@@ -6829,6 +6924,9 @@ package Sinfo is
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
@@ -6859,6 +6957,9 @@ package Sinfo is
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
@@ -6952,9 +7053,6 @@ package Sinfo is
function Discriminant_Type
(N : Node_Id) return Node_Id; -- Node5
- function Do_Access_Check
- (N : Node_Id) return Boolean; -- Flag11
-
function Do_Accessibility_Check
(N : Node_Id) return Boolean; -- Flag13
@@ -7142,7 +7240,7 @@ package Sinfo is
(N : Node_Id) return Node_Id; -- Node1
function Implicit_With
- (N : Node_Id) return Boolean; -- Flag17
+ (N : Node_Id) return Boolean; -- Flag16
function In_Present
(N : Node_Id) return Boolean; -- Flag15
@@ -7168,9 +7266,15 @@ package Sinfo is
function Is_Controlling_Actual
(N : Node_Id) return Boolean; -- Flag16
+ function Is_In_Discriminant_Check
+ (N : Node_Id) return Boolean; -- Flag11
+
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
@@ -7216,6 +7320,9 @@ package Sinfo is
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
@@ -7270,6 +7377,9 @@ package Sinfo is
function No_Initialization
(N : Node_Id) return Boolean; -- Flag13
+ function No_Truncation
+ (N : Node_Id) return Boolean; -- Flag17
+
function Null_Present
(N : Node_Id) return Boolean; -- Flag13
@@ -7285,6 +7395,9 @@ package Sinfo is
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
@@ -7585,6 +7698,9 @@ package Sinfo is
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
@@ -7615,6 +7731,9 @@ package Sinfo is
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
@@ -7708,9 +7827,6 @@ package Sinfo is
procedure Set_Discriminant_Type
(N : Node_Id; Val : Node_Id); -- Node5
- procedure Set_Do_Access_Check
- (N : Node_Id; Val : Boolean := True); -- Flag11
-
procedure Set_Do_Accessibility_Check
(N : Node_Id; Val : Boolean := True); -- Flag13
@@ -7898,7 +8014,7 @@ package Sinfo is
(N : Node_Id; Val : Node_Id); -- Node1
procedure Set_Implicit_With
- (N : Node_Id; Val : Boolean := True); -- Flag17
+ (N : Node_Id; Val : Boolean := True); -- Flag16
procedure Set_In_Present
(N : Node_Id; Val : Boolean := True); -- Flag15
@@ -7924,9 +8040,15 @@ package Sinfo is
procedure Set_Is_Controlling_Actual
(N : Node_Id; Val : Boolean := True); -- Flag16
+ procedure Set_Is_In_Discriminant_Check
+ (N : Node_Id; Val : Boolean := True); -- Flag11
+
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
@@ -7972,6 +8094,9 @@ package Sinfo is
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
@@ -8026,6 +8151,9 @@ package Sinfo is
procedure Set_No_Initialization
(N : Node_Id; Val : Boolean := True); -- Flag13
+ procedure Set_No_Truncation
+ (N : Node_Id; Val : Boolean := True); -- Flag17
+
procedure Set_Null_Present
(N : Node_Id; Val : Boolean := True); -- Flag13
@@ -8041,6 +8169,9 @@ package Sinfo is
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
@@ -8299,6 +8430,7 @@ package Sinfo is
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 (Compile_Time_Known_Aggregate);
@@ -8309,6 +8441,7 @@ package Sinfo is
pragma Inline (Component_Name);
pragma Inline (Condition);
pragma Inline (Condition_Actions);
+ pragma Inline (Config_Pragmas);
pragma Inline (Constant_Present);
pragma Inline (Constraint);
pragma Inline (Constraints);
@@ -8340,7 +8473,6 @@ package Sinfo is
pragma Inline (Discrete_Subtype_Definitions);
pragma Inline (Discriminant_Specifications);
pragma Inline (Discriminant_Type);
- pragma Inline (Do_Access_Check);
pragma Inline (Do_Accessibility_Check);
pragma Inline (Do_Discriminant_Check);
pragma Inline (Do_Length_Check);
@@ -8412,7 +8544,9 @@ package Sinfo is
pragma Inline (Is_Component_Left_Opnd);
pragma Inline (Is_Component_Right_Opnd);
pragma Inline (Is_Controlling_Actual);
+ pragma Inline (Is_In_Discriminant_Check);
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_Protected_Subprogram_Body);
@@ -8428,6 +8562,7 @@ package Sinfo is
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 (Loop_Actions);
@@ -8446,11 +8581,13 @@ package Sinfo is
pragma Inline (No_Ctrl_Actions);
pragma Inline (No_Entities_Ref_In_Spec);
pragma Inline (No_Initialization);
+ pragma Inline (No_Truncation);
pragma Inline (Null_Present);
pragma Inline (Null_Record_Present);
pragma Inline (Object_Definition);
pragma Inline (OK_For_Stream);
pragma Inline (Original_Discriminant);
+ pragma Inline (Original_Entity);
pragma Inline (Others_Discrete_Choices);
pragma Inline (Out_Present);
pragma Inline (Parameter_Associations);
@@ -8548,6 +8685,7 @@ package Sinfo is
pragma Inline (Set_Box_Present);
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_Compile_Time_Known_Aggregate);
@@ -8558,6 +8696,7 @@ package Sinfo is
pragma Inline (Set_Component_Name);
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);
@@ -8589,7 +8728,6 @@ package Sinfo is
pragma Inline (Set_Discrete_Subtype_Definitions);
pragma Inline (Set_Discriminant_Specifications);
pragma Inline (Set_Discriminant_Type);
- pragma Inline (Set_Do_Access_Check);
pragma Inline (Set_Do_Accessibility_Check);
pragma Inline (Set_Do_Discriminant_Check);
pragma Inline (Set_Do_Length_Check);
@@ -8661,7 +8799,9 @@ package Sinfo is
pragma Inline (Set_Is_Component_Left_Opnd);
pragma Inline (Set_Is_Component_Right_Opnd);
pragma Inline (Set_Is_Controlling_Actual);
+ pragma Inline (Set_Is_In_Discriminant_Check);
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_Protected_Subprogram_Body);
@@ -8677,6 +8817,7 @@ package Sinfo is
pragma Inline (Set_Library_Unit);
pragma Inline (Set_Label_Construct);
pragma Inline (Set_Left_Opnd);
+ pragma Inline (Set_Limited_View_Installed);
pragma Inline (Set_Limited_Present);
pragma Inline (Set_Literals);
pragma Inline (Set_Loop_Actions);
@@ -8694,11 +8835,13 @@ package Sinfo is
pragma Inline (Set_No_Ctrl_Actions);
pragma Inline (Set_No_Entities_Ref_In_Spec);
pragma Inline (Set_No_Initialization);
+ pragma Inline (Set_No_Truncation);
pragma Inline (Set_Null_Present);
pragma Inline (Set_Null_Record_Present);
pragma Inline (Set_Object_Definition);
pragma Inline (Set_OK_For_Stream);
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);