aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/atree.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/atree.adb')
-rw-r--r--gcc/ada/atree.adb9103
1 files changed, 1340 insertions, 7763 deletions
diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb
index d3d40d9..c7e295b 100644
--- a/gcc/ada/atree.adb
+++ b/gcc/ada/atree.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- 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,24 +23,32 @@
-- --
------------------------------------------------------------------------------
-pragma Style_Checks (All_Checks);
--- Turn off subprogram ordering check for this package
+-- Assertions in this package are too slow, and are mostly needed when working
+-- on this package itself, or on gen_il, so we disable them.
+-- To debug low-level bugs in this area, comment out the following pragma,
+-- and run with -gnatd_v.
--- WARNING: There is a C version of this package. Any changes to this source
--- file must be properly reflected in the file atree.h which is a C header
--- file containing equivalent definitions for use by gigi.
+pragma Assertion_Policy (Ignore);
-with Aspects; use Aspects;
-with Debug; use Debug;
-with Nlists; use Nlists;
-with Opt; use Opt;
-with Output; use Output;
-with Sinput; use Sinput;
-
-with GNAT.Heap_Sort_G;
+with Aspects; use Aspects;
+with Debug; use Debug;
+with Namet; use Namet;
+with Nlists; use Nlists;
+with Opt; use Opt;
+with Output; use Output;
+with Seinfo; use Seinfo;
+with Sinfo.Utils; use Sinfo.Utils;
+with System.Storage_Elements;
package body Atree is
+ ---------------
+ -- Debugging --
+ ---------------
+
+ -- Suppose you find that node 12345 is messed up. You might want to find
+ -- the code that created that node. See sinfo-utils.adb for how to do that.
+
Ignored_Ghost_Recording_Proc : Ignored_Ghost_Record_Proc := null;
-- This soft link captures the procedure invoked during the creation of an
-- ignored Ghost node or entity.
@@ -57,463 +65,49 @@ package body Atree is
Rewriting_Proc : Rewrite_Proc := null;
-- This soft link captures the procedure invoked during a node rewrite
- ---------------
- -- Debugging --
- ---------------
-
- -- Suppose you find that node 12345 is messed up. You might want to find
- -- the code that created that node. There are two ways to do this:
-
- -- One way is to set a conditional breakpoint on New_Node_Debugging_Output
- -- (nickname "nnd"):
- -- break nnd if n = 12345
- -- and run gnat1 again from the beginning.
-
- -- The other way is to set a breakpoint near the beginning (e.g. on
- -- gnat1drv), and run. Then set Watch_Node (nickname "ww") to 12345 in gdb:
- -- ww := 12345
- -- and set a breakpoint on New_Node_Breakpoint (nickname "nn"). Continue.
-
- -- Either way, gnat1 will stop when node 12345 is created, or certain other
- -- interesting operations are performed, such as Rewrite. To see exactly
- -- which operations, search for "pragma Debug" below.
-
- -- The second method is much faster if the amount of Ada code being
- -- compiled is large.
-
- ww : Node_Id'Base := Node_Id'First - 1;
- pragma Export (Ada, ww); -- trick the optimizer
- Watch_Node : Node_Id'Base renames ww;
- -- Node to "watch"; that is, whenever a node is created, we check if it
- -- is equal to Watch_Node, and if so, call New_Node_Breakpoint. You have
- -- presumably set a breakpoint on New_Node_Breakpoint. Note that the
- -- initial value of Node_Id'First - 1 ensures that by default, no node
- -- will be equal to Watch_Node.
-
- procedure nn;
- pragma Export (Ada, nn);
- procedure New_Node_Breakpoint renames nn;
- -- This doesn't do anything interesting; it's just for setting breakpoint
- -- on as explained above.
-
- procedure nnd (N : Node_Id);
- pragma Export (Ada, nnd);
- procedure New_Node_Debugging_Output (N : Node_Id) renames nnd;
- -- For debugging. If debugging is turned on, New_Node and New_Entity call
- -- this. If debug flag N is turned on, this prints out the new node.
- --
- -- If Node = Watch_Node, this prints out the new node and calls
- -- New_Node_Breakpoint. Otherwise, does nothing.
-
- procedure Node_Debug_Output (Op : String; N : Node_Id);
- -- Called by nnd; writes Op followed by information about N
-
-----------------------------
-- Local Objects and Types --
-----------------------------
Comes_From_Source_Default : Boolean := False;
- use Unchecked_Access;
- -- We are allowed to see these from within our own body
-
use Atree_Private_Part;
-- We are also allowed to see our private data structures
- -- Functions used to store Entity_Kind value in Nkind field
-
- -- The following declarations are used to store flags 65-72 in the
- -- Nkind field of the third component of an extended (entity) node.
-
- type Flag_Byte is record
- Flag65 : Boolean;
- Flag66 : Boolean;
- Flag67 : Boolean;
- Flag68 : Boolean;
- Flag69 : Boolean;
- Flag70 : Boolean;
- Flag71 : Boolean;
- Flag72 : Boolean;
- end record;
-
- pragma Pack (Flag_Byte);
- for Flag_Byte'Size use 8;
-
- type Flag_Byte_Ptr is access all Flag_Byte;
- type Node_Kind_Ptr is access all Node_Kind;
-
- function To_Flag_Byte is new
- Unchecked_Conversion (Node_Kind, Flag_Byte);
-
- function To_Flag_Byte_Ptr is new
- Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte_Ptr);
-
- -- The following declarations are used to store flags 239-246 in the
- -- Nkind field of the fourth component of an extended (entity) node.
-
- type Flag_Byte2 is record
- Flag239 : Boolean;
- Flag240 : Boolean;
- Flag241 : Boolean;
- Flag242 : Boolean;
- Flag243 : Boolean;
- Flag244 : Boolean;
- Flag245 : Boolean;
- Flag246 : Boolean;
- end record;
-
- pragma Pack (Flag_Byte2);
- for Flag_Byte2'Size use 8;
-
- type Flag_Byte2_Ptr is access all Flag_Byte2;
-
- function To_Flag_Byte2 is new
- Unchecked_Conversion (Node_Kind, Flag_Byte2);
-
- function To_Flag_Byte2_Ptr is new
- Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte2_Ptr);
-
- -- The following declarations are used to store flags 247-254 in the
- -- Nkind field of the fifth component of an extended (entity) node.
-
- type Flag_Byte3 is record
- Flag247 : Boolean;
- Flag248 : Boolean;
- Flag249 : Boolean;
- Flag250 : Boolean;
- Flag251 : Boolean;
- Flag252 : Boolean;
- Flag253 : Boolean;
- Flag254 : Boolean;
- end record;
-
- pragma Pack (Flag_Byte3);
- for Flag_Byte3'Size use 8;
-
- type Flag_Byte3_Ptr is access all Flag_Byte3;
-
- function To_Flag_Byte3 is new
- Unchecked_Conversion (Node_Kind, Flag_Byte3);
-
- function To_Flag_Byte3_Ptr is new
- Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte3_Ptr);
-
- -- The following declarations are used to store flags 310-317 in the
- -- Nkind field of the sixth component of an extended (entity) node.
-
- type Flag_Byte4 is record
- Flag310 : Boolean;
- Flag311 : Boolean;
- Flag312 : Boolean;
- Flag313 : Boolean;
- Flag314 : Boolean;
- Flag315 : Boolean;
- Flag316 : Boolean;
- Flag317 : Boolean;
- end record;
-
- pragma Pack (Flag_Byte4);
- for Flag_Byte4'Size use 8;
-
- type Flag_Byte4_Ptr is access all Flag_Byte4;
-
- function To_Flag_Byte4 is new
- Unchecked_Conversion (Node_Kind, Flag_Byte4);
-
- function To_Flag_Byte4_Ptr is new
- Unchecked_Conversion (Node_Kind_Ptr, Flag_Byte4_Ptr);
-
- -- The following declarations are used to store flags 73-96 and the
- -- Convention field in the Field12 field of the third component of an
- -- extended (Entity) node.
-
- type Flag_Word is record
- Flag73 : Boolean;
- Flag74 : Boolean;
- Flag75 : Boolean;
- Flag76 : Boolean;
- Flag77 : Boolean;
- Flag78 : Boolean;
- Flag79 : Boolean;
- Flag80 : Boolean;
-
- Flag81 : Boolean;
- Flag82 : Boolean;
- Flag83 : Boolean;
- Flag84 : Boolean;
- Flag85 : Boolean;
- Flag86 : Boolean;
- Flag87 : Boolean;
- Flag88 : Boolean;
-
- Flag89 : Boolean;
- Flag90 : Boolean;
- Flag91 : Boolean;
- Flag92 : Boolean;
- Flag93 : Boolean;
- Flag94 : Boolean;
- Flag95 : Boolean;
- Flag96 : Boolean;
-
- Convention : Convention_Id;
- end record;
-
- pragma Pack (Flag_Word);
- for Flag_Word'Size use 32;
- for Flag_Word'Alignment use 4;
-
- type Flag_Word_Ptr is access all Flag_Word;
- type Union_Id_Ptr is access all Union_Id;
-
- function To_Flag_Word is new
- Unchecked_Conversion (Union_Id, Flag_Word);
-
- function To_Flag_Word_Ptr is new
- Unchecked_Conversion (Union_Id_Ptr, Flag_Word_Ptr);
-
- -- The following declarations are used to store flags 97-128 in the
- -- Field12 field of the fourth component of an extended (entity) node.
-
- type Flag_Word2 is record
- Flag97 : Boolean;
- Flag98 : Boolean;
- Flag99 : Boolean;
- Flag100 : Boolean;
- Flag101 : Boolean;
- Flag102 : Boolean;
- Flag103 : Boolean;
- Flag104 : Boolean;
-
- Flag105 : Boolean;
- Flag106 : Boolean;
- Flag107 : Boolean;
- Flag108 : Boolean;
- Flag109 : Boolean;
- Flag110 : Boolean;
- Flag111 : Boolean;
- Flag112 : Boolean;
-
- Flag113 : Boolean;
- Flag114 : Boolean;
- Flag115 : Boolean;
- Flag116 : Boolean;
- Flag117 : Boolean;
- Flag118 : Boolean;
- Flag119 : Boolean;
- Flag120 : Boolean;
-
- Flag121 : Boolean;
- Flag122 : Boolean;
- Flag123 : Boolean;
- Flag124 : Boolean;
- Flag125 : Boolean;
- Flag126 : Boolean;
- Flag127 : Boolean;
- Flag128 : Boolean;
- end record;
-
- pragma Pack (Flag_Word2);
- for Flag_Word2'Size use 32;
- for Flag_Word2'Alignment use 4;
-
- type Flag_Word2_Ptr is access all Flag_Word2;
-
- function To_Flag_Word2 is new
- Unchecked_Conversion (Union_Id, Flag_Word2);
-
- function To_Flag_Word2_Ptr is new
- Unchecked_Conversion (Union_Id_Ptr, Flag_Word2_Ptr);
-
- -- The following declarations are used to store flags 152-183 in the
- -- Field11 field of the fourth component of an extended (entity) node.
-
- type Flag_Word3 is record
- Flag152 : Boolean;
- Flag153 : Boolean;
- Flag154 : Boolean;
- Flag155 : Boolean;
- Flag156 : Boolean;
- Flag157 : Boolean;
- Flag158 : Boolean;
- Flag159 : Boolean;
-
- Flag160 : Boolean;
- Flag161 : Boolean;
- Flag162 : Boolean;
- Flag163 : Boolean;
- Flag164 : Boolean;
- Flag165 : Boolean;
- Flag166 : Boolean;
- Flag167 : Boolean;
-
- Flag168 : Boolean;
- Flag169 : Boolean;
- Flag170 : Boolean;
- Flag171 : Boolean;
- Flag172 : Boolean;
- Flag173 : Boolean;
- Flag174 : Boolean;
- Flag175 : Boolean;
-
- Flag176 : Boolean;
- Flag177 : Boolean;
- Flag178 : Boolean;
- Flag179 : Boolean;
- Flag180 : Boolean;
- Flag181 : Boolean;
- Flag182 : Boolean;
- Flag183 : Boolean;
- end record;
-
- pragma Pack (Flag_Word3);
- for Flag_Word3'Size use 32;
- for Flag_Word3'Alignment use 4;
-
- type Flag_Word3_Ptr is access all Flag_Word3;
-
- function To_Flag_Word3 is new
- Unchecked_Conversion (Union_Id, Flag_Word3);
-
- function To_Flag_Word3_Ptr is new
- Unchecked_Conversion (Union_Id_Ptr, Flag_Word3_Ptr);
-
- -- The following declarations are used to store flags 184-215 in the
- -- Field12 field of the fifth component of an extended (entity) node.
-
- type Flag_Word4 is record
- Flag184 : Boolean;
- Flag185 : Boolean;
- Flag186 : Boolean;
- Flag187 : Boolean;
- Flag188 : Boolean;
- Flag189 : Boolean;
- Flag190 : Boolean;
- Flag191 : Boolean;
-
- Flag192 : Boolean;
- Flag193 : Boolean;
- Flag194 : Boolean;
- Flag195 : Boolean;
- Flag196 : Boolean;
- Flag197 : Boolean;
- Flag198 : Boolean;
- Flag199 : Boolean;
-
- Flag200 : Boolean;
- Flag201 : Boolean;
- Flag202 : Boolean;
- Flag203 : Boolean;
- Flag204 : Boolean;
- Flag205 : Boolean;
- Flag206 : Boolean;
- Flag207 : Boolean;
-
- Flag208 : Boolean;
- Flag209 : Boolean;
- Flag210 : Boolean;
- Flag211 : Boolean;
- Flag212 : Boolean;
- Flag213 : Boolean;
- Flag214 : Boolean;
- Flag215 : Boolean;
- end record;
-
- pragma Pack (Flag_Word4);
- for Flag_Word4'Size use 32;
- for Flag_Word4'Alignment use 4;
-
- type Flag_Word4_Ptr is access all Flag_Word4;
-
- function To_Flag_Word4 is new
- Unchecked_Conversion (Union_Id, Flag_Word4);
-
- function To_Flag_Word4_Ptr is new
- Unchecked_Conversion (Union_Id_Ptr, Flag_Word4_Ptr);
-
- -- The following declarations are used to store flags 255-286 in the
- -- Field12 field of the sixth component of an extended (entity) node.
-
- type Flag_Word5 is record
- Flag255 : Boolean;
- Flag256 : Boolean;
- Flag257 : Boolean;
- Flag258 : Boolean;
- Flag259 : Boolean;
- Flag260 : Boolean;
- Flag261 : Boolean;
- Flag262 : Boolean;
-
- Flag263 : Boolean;
- Flag264 : Boolean;
- Flag265 : Boolean;
- Flag266 : Boolean;
- Flag267 : Boolean;
- Flag268 : Boolean;
- Flag269 : Boolean;
- Flag270 : Boolean;
-
- Flag271 : Boolean;
- Flag272 : Boolean;
- Flag273 : Boolean;
- Flag274 : Boolean;
- Flag275 : Boolean;
- Flag276 : Boolean;
- Flag277 : Boolean;
- Flag278 : Boolean;
-
- Flag279 : Boolean;
- Flag280 : Boolean;
- Flag281 : Boolean;
- Flag282 : Boolean;
- Flag283 : Boolean;
- Flag284 : Boolean;
- Flag285 : Boolean;
- Flag286 : Boolean;
- end record;
-
- pragma Pack (Flag_Word5);
- for Flag_Word5'Size use 32;
- for Flag_Word5'Alignment use 4;
-
- type Flag_Word5_Ptr is access all Flag_Word5;
-
- function To_Flag_Word5 is new
- Unchecked_Conversion (Union_Id, Flag_Word5);
-
- function To_Flag_Word5_Ptr is new
- Unchecked_Conversion (Union_Id_Ptr, Flag_Word5_Ptr);
-
--------------------------------------------------
-- Implementation of Tree Substitution Routines --
--------------------------------------------------
- -- A separate table keeps track of the mapping between rewritten nodes
- -- and their corresponding original tree nodes. Rewrite makes an entry
- -- in this table for use by Original_Node. By default, if no call is
- -- Rewrite, the entry in this table points to the original unwritten node.
+ -- A separate table keeps track of the mapping between rewritten nodes and
+ -- their corresponding original tree nodes. Rewrite makes an entry in this
+ -- table for use by Original_Node. By default the entry in this table
+ -- points to the original unwritten node. Note that if a node is rewritten
+ -- more than once, there is no easy way to get to the intermediate
+ -- rewrites; the node itself is the latest version, and the entry in this
+ -- table is the original.
- -- Note: eventually, this should be a field in the Node directly, but
- -- for now we do not want to disturb the efficiency of a power of 2
- -- for the node size. ????We are planning to get rid of power-of-2.
+ -- Note: This could be a node field.
package Orig_Nodes is new Table.Table (
Table_Component_Type => Node_Id,
Table_Index_Type => Node_Id'Base,
Table_Low_Bound => First_Node_Id,
- Table_Initial => Alloc.Nodes_Initial,
- Table_Increment => Alloc.Nodes_Increment,
- Release_Threshold => Alloc.Nodes_Release_Threshold,
+ Table_Initial => Alloc.Node_Offsets_Initial,
+ Table_Increment => Alloc.Node_Offsets_Increment,
Table_Name => "Orig_Nodes");
--------------------------
-- Paren_Count Handling --
--------------------------
- -- As noted in the spec, the paren count in a sub-expression node has
- -- four possible values 0,1,2, and 3. The value 3 really means 3 or more,
- -- and we use an auxiliary serially scanned table to record the actual
- -- count. A serial search is fine, only pathological programs will use
- -- entries in this table. Normal programs won't use it at all.
+ -- The Small_Paren_Count field has range 0 .. 3. If the Paren_Count is
+ -- in the range 0 .. 2, then it is stoed as Small_Paren_Count. Otherwise,
+ -- Small_Paren_Count = 3, and the actual Paren_Count is stored in the
+ -- Paren_Counts table.
+ --
+ -- We use linear search on the Paren_Counts table, which is plenty
+ -- efficient because only pathological programs will use it. Nobody
+ -- writes (((X + Y))).
type Paren_Count_Entry is record
Nod : Node_Id;
@@ -540,14 +134,14 @@ package body Atree is
-- Local Subprograms --
-----------------------
- function Allocate_New_Node return Node_Id;
+ function Allocate_New_Node (Kind : Node_Kind) return Node_Id;
pragma Inline (Allocate_New_Node);
-- Allocate a new node or first part of a node extension. Initialize the
-- Nodes.Table entry, Flags, Orig_Nodes, and List tables.
procedure Fix_Parents (Ref_Node, Fix_Node : Node_Id);
- -- Fix up parent pointers for the syntactic children of Fix_Node after a
- -- copy, setting them to Fix_Node when they pointed to Ref_Node.
+ -- Fix up parent pointers for the children of Fix_Node after a copy,
+ -- setting them to Fix_Node when they pointed to Ref_Node.
procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id);
-- Mark arbitrary node or entity N as Ghost when it is created within a
@@ -557,55 +151,868 @@ package body Atree is
pragma Inline (Report);
-- Invoke the reporting procedure if available
- -----------------------
- -- Allocate_New_Node --
- -----------------------
+ function Size_In_Slots (N : Node_Or_Entity_Id) return Slot_Count;
+ -- Number of slots belonging to N. This can be less than
+ -- Size_In_Slots_To_Alloc for entities.
+
+ function Size_In_Slots_To_Alloc (N : Node_Or_Entity_Id) return Slot_Count;
+ function Size_In_Slots_To_Alloc (Kind : Node_Kind) return Slot_Count;
+ -- Number of slots to allocate for a node or entity. For entities, we have
+ -- to allocate the max, because we don't know the Ekind when this is
+ -- called.
+
+ function Off_0 (N : Node_Id) return Node_Offset;
+ -- Offset of the first slot of N (offset 0) in Slots.Table
+
+ function Off_L (N : Node_Id) return Node_Offset;
+ -- Offset of the last slot of N in Slots.Table
+
+ procedure Zero_Slots (First, Last : Node_Offset) with Inline;
+ -- Set slots in the range F..L to zero
+
+ procedure Zero_Slots (N : Node_Or_Entity_Id) with Inline;
+ -- Zero the slots belonging to N
+
+ procedure Copy_Slots (From, To : Node_Offset; Num_Slots : Slot_Count)
+ with Inline;
+ -- Copy Num_Slots slots from From to To. Caller is responsible for ensuring
+ -- that the Num_Slots at To are a reasonable place to copy to.
+
+ procedure Copy_Slots (Source, Destination : Node_Id) with Inline;
+ -- Copies the slots of Source to Destination; uses the node kind to
+ -- determine the Num_Slots.
+
+ function Get_Field_Value
+ (N : Node_Id; Field : Node_Field) return Field_Size_32_Bit;
+ -- Get any field value as a Field_Size_32_Bit. If the field is smaller than
+ -- 32 bits, convert it to Field_Size_32_Bit. The Field must be present in
+ -- the Nkind of N.
+
+ procedure Set_Field_Value
+ (N : Node_Id; Field : Node_Field; Val : Field_Size_32_Bit);
+ -- Set any field value as a Field_Size_32_Bit. If the field is smaller than
+ -- 32 bits, convert it from Field_Size_32_Bit, and Val had better be small
+ -- enough. The Field must be present in the Nkind of N.
+
+ procedure Check_Vanishing_Fields
+ (Old_N : Node_Id; New_Kind : Node_Kind);
+ -- Called whenever Nkind is modified. Raises an exception if not all
+ -- vanishing fields are in their initial zero state.
+
+ function Get_Field_Value
+ (N : Entity_Id; Field : Entity_Field) return Field_Size_32_Bit;
+ procedure Set_Field_Value
+ (N : Entity_Id; Field : Entity_Field; Val : Field_Size_32_Bit);
+ procedure Check_Vanishing_Fields
+ (Old_N : Entity_Id; New_Kind : Entity_Kind);
+ -- Above are the same as the ones for nodes, but for entities
+
+ procedure Init_Nkind (N : Node_Id; Val : Node_Kind);
+ -- Initialize the Nkind field, which must not have been set already. This
+ -- cannot be used to modify an already-initialized Nkind field. See also
+ -- Mutate_Nkind.
+
+ procedure Mutate_Nkind
+ (N : Node_Id; Val : Node_Kind; Old_Size : Slot_Count);
+ -- Called by the other Mutate_Nkind to do all the work. This is needed
+ -- because the call in Change_Node, which calls this one directly, happens
+ -- after zeroing N's slots, which destroys its Nkind, which prevents us
+ -- from properly computing Old_Size.
+
+ package Field_Checking is
+ -- Functions for checking field access, used only in assertions
+
+ function Field_Present
+ (Kind : Node_Kind; Field : Node_Field) return Boolean;
+ function Field_Present
+ (Kind : Entity_Kind; Field : Entity_Field) return Boolean;
+ -- True if a node/entity of the given Kind has the given Field.
+ -- Always True if assertions are disabled.
+
+ end Field_Checking;
+
+ package body Field_Checking is
+
+ -- Tables used by Field_Present
+
+ type Node_Field_Sets is array (Node_Kind) of Node_Field_Set;
+ type Node_Field_Sets_Ptr is access all Node_Field_Sets;
+ Node_Fields_Present : Node_Field_Sets_Ptr;
+
+ type Entity_Field_Sets is array (Entity_Kind) of Entity_Field_Set;
+ type Entity_Field_Sets_Ptr is access all Entity_Field_Sets;
+ Entity_Fields_Present : Entity_Field_Sets_Ptr;
+
+ procedure Init_Tables;
+
+ function Create_Node_Fields_Present
+ (Kind : Node_Kind) return Node_Field_Set;
+ function Create_Entity_Fields_Present
+ (Kind : Entity_Kind) return Entity_Field_Set;
+ -- Computes the set of fields present in each Node/Entity Kind. Used to
+ -- initialize the above tables.
+
+ --------------------------------
+ -- Create_Node_Fields_Present --
+ --------------------------------
+
+ function Create_Node_Fields_Present
+ (Kind : Node_Kind) return Node_Field_Set
+ is
+ Result : Node_Field_Set := (others => False);
+ begin
+ for J in Node_Field_Table (Kind)'Range loop
+ Result (Node_Field_Table (Kind) (J)) := True;
+ end loop;
+
+ return Result;
+ end Create_Node_Fields_Present;
+
+ --------------------------------
+ -- Create_Entity_Fields_Present --
+ --------------------------------
+
+ function Create_Entity_Fields_Present
+ (Kind : Entity_Kind) return Entity_Field_Set
+ is
+ Result : Entity_Field_Set := (others => False);
+ begin
+ for J in Entity_Field_Table (Kind)'Range loop
+ Result (Entity_Field_Table (Kind) (J)) := True;
+ end loop;
+
+ return Result;
+ end Create_Entity_Fields_Present;
+
+ -----------------
+ -- Init_Tables --
+ -----------------
+
+ procedure Init_Tables is
+ begin
+ Node_Fields_Present := new Node_Field_Sets;
+
+ for Kind in Node_Kind loop
+ Node_Fields_Present (Kind) := Create_Node_Fields_Present (Kind);
+ end loop;
+
+ Entity_Fields_Present := new Entity_Field_Sets;
+
+ for Kind in Entity_Kind loop
+ Entity_Fields_Present (Kind) :=
+ Create_Entity_Fields_Present (Kind);
+ end loop;
+ end Init_Tables;
+
+ -- In production mode, we leave Node_Fields_Present and
+ -- Entity_Fields_Present null. Field_Present is only for
+ -- use in assertions.
+
+ pragma Debug (Init_Tables);
+
+ function Field_Present
+ (Kind : Node_Kind; Field : Node_Field) return Boolean is
+ begin
+ if Node_Fields_Present = null then
+ return True;
+ end if;
+
+ return Node_Fields_Present (Kind) (Field);
+ end Field_Present;
+
+ function Field_Present
+ (Kind : Entity_Kind; Field : Entity_Field) return Boolean is
+ begin
+ if Entity_Fields_Present = null then
+ return True;
+ end if;
+
+ return Entity_Fields_Present (Kind) (Field);
+ end Field_Present;
+
+ end Field_Checking;
+
+ ------------------------
+ -- Atree_Private_Part --
+ ------------------------
+
+ package body Atree_Private_Part is
+
+ -- The following validators are disabled in production builds, by being
+ -- called in pragma Debug. They are also disabled by default in debug
+ -- builds, by setting the flags below, because they make the compiler
+ -- very slow (10 to 20 times slower). Validate can be set True to debug
+ -- the low-level accessors.
+ --
+ -- Even if Validate is True, validation is disabled during
+ -- Validate_... calls to prevent infinite recursion
+ -- (Validate_... procedures call field getters, which call
+ -- Validate_... procedures). That's what the Enable_Validate_...
+ -- flags are for; they are toggled so that when we're inside one
+ -- of them, and enter it again, the inner call doesn't do anything.
+ -- These flags are irrelevant when Validate is False.
+
+ Validate : constant Boolean := False;
+
+ Enable_Validate_Node,
+ Enable_Validate_Node_Write,
+ Enable_Validate_Node_And_Offset,
+ Enable_Validate_Node_And_Offset_Write :
+ Boolean := Validate;
+
+ procedure Validate_Node_And_Offset
+ (N : Node_Or_Entity_Id; Offset : Field_Offset);
+ procedure Validate_Node_And_Offset_Write
+ (N : Node_Or_Entity_Id; Offset : Field_Offset);
+ -- Asserts N is OK, and the Offset in slots is within N. Note that this
+ -- does not guarantee that the offset is valid, just that it's not past
+ -- the last slot. It could be pointing at unused bits within the node,
+ -- or unused padding at the end. The "_Write" version is used when we're
+ -- about to modify the node.
+
+ procedure Validate_Node_And_Offset
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) is
+ begin
+ if Enable_Validate_Node_And_Offset then
+ Enable_Validate_Node_And_Offset := False;
+
+ pragma Debug (Validate_Node (N));
+ pragma Assert (Offset'Valid);
+ pragma Assert (Offset < Size_In_Slots (N));
+
+ Enable_Validate_Node_And_Offset := True;
+ end if;
+ end Validate_Node_And_Offset;
+
+ procedure Validate_Node_And_Offset_Write
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) is
+ begin
+ if Enable_Validate_Node_And_Offset_Write then
+ Enable_Validate_Node_And_Offset_Write := False;
+
+ pragma Debug (Validate_Node_Write (N));
+ pragma Assert (Offset'Valid);
+ pragma Assert (Offset < Size_In_Slots (N));
+
+ Enable_Validate_Node_And_Offset_Write := True;
+ end if;
+ end Validate_Node_And_Offset_Write;
+
+ procedure Validate_Node (N : Node_Or_Entity_Id) is
+ begin
+ if Enable_Validate_Node then
+ Enable_Validate_Node := False;
+
+ pragma Assert (N'Valid);
+ pragma Assert (N <= Node_Offsets.Last);
+ pragma Assert (Off_0 (N) <= Off_L (N));
+ pragma Assert (Off_L (N) <= Slots.Last);
+ pragma Assert (Nkind (N)'Valid);
+ pragma Assert (Nkind (N) /= N_Unused_At_End);
+
+ if Nkind (N) in N_Entity then
+ pragma Assert (Ekind (N)'Valid);
+ end if;
+
+ if Nkind (N) in
+ N_Aggregate
+ | N_Attribute_Definition_Clause
+ | N_Aspect_Specification
+ | N_Extension_Aggregate
+ | N_Freeze_Entity
+ | N_Freeze_Generic_Entity
+ | N_Has_Entity
+ | N_Selected_Component
+ | N_Use_Package_Clause
+ then
+ pragma Assert (Entity_Or_Associated_Node (N)'Valid);
+ end if;
+
+ Enable_Validate_Node := True;
+ end if;
+ end Validate_Node;
+
+ procedure Validate_Node_Write (N : Node_Or_Entity_Id) is
+ begin
+ if Enable_Validate_Node_Write then
+ Enable_Validate_Node_Write := False;
+
+ pragma Debug (Validate_Node (N));
+ pragma Assert (not Locked);
+
+ Enable_Validate_Node_Write := True;
+ end if;
+ end Validate_Node_Write;
+
+ function Is_Valid_Node (U : Union_Id) return Boolean is
+ begin
+ return Node_Id'Base (U) <= Node_Offsets.Last;
+ end Is_Valid_Node;
+
+ function Alloc_Node_Id return Node_Id is
+ begin
+ Node_Offsets.Increment_Last;
+ return Node_Offsets.Last;
+ end Alloc_Node_Id;
+
+ function Alloc_Slots (Num_Slots : Slot_Count) return Node_Offset is
+ begin
+ return Result : constant Node_Offset := Slots.Last + 1 do
+ Slots.Set_Last (Slots.Last + Num_Slots);
+ end return;
+ end Alloc_Slots;
+
+ function Get_1_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Field_Type'Size = 1);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Size_1_Bit, Field_Type);
+ begin
+ return Cast (Get_1_Bit_Val (N, Offset));
+ end Get_1_Bit_Field;
+
+ function Get_2_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Field_Type'Size = 2);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Size_2_Bit, Field_Type);
+ begin
+ return Cast (Get_2_Bit_Val (N, Offset));
+ end Get_2_Bit_Field;
+
+ function Get_4_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Field_Type'Size = 4);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Size_4_Bit, Field_Type);
+ begin
+ return Cast (Get_4_Bit_Val (N, Offset));
+ end Get_4_Bit_Field;
+
+ function Get_8_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Field_Type'Size = 8);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Size_8_Bit, Field_Type);
+ begin
+ return Cast (Get_8_Bit_Val (N, Offset));
+ end Get_8_Bit_Field;
+
+ function Get_32_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Field_Type'Size = 32);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Size_32_Bit, Field_Type);
+ begin
+ return Cast (Get_32_Bit_Val (N, Offset));
+ end Get_32_Bit_Field;
+
+ function Get_32_Bit_Field_With_Default
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ function Get_Field is new Get_32_Bit_Field (Field_Type) with Inline;
+ Result : Field_Type;
+ begin
+ -- If the field has not yet been set, it will be equal to zero.
+ -- That is of the "wrong" type, so we fetch it as a
+ -- Field_Size_32_Bit.
+
+ if Get_32_Bit_Val (N, Offset) = 0 then
+ Result := Default_Val;
+
+ else
+ Result := Get_Field (N, Offset);
+ end if;
+
+ return Result;
+ end Get_32_Bit_Field_With_Default;
+
+ function Get_Valid_32_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Type
+ is
+ pragma Assert (Get_32_Bit_Val (N, Offset) /= 0);
+ -- If the field has not yet been set, it will be equal to zero.
+ -- This asserts that we don't call Get_ before Set_. Note that
+ -- the predicate on the Val parameter of Set_ checks for the No_...
+ -- value, so it can't possibly be (for example) No_Uint here.
+
+ function Get_Field is new Get_32_Bit_Field (Field_Type) with Inline;
+ Result : constant Field_Type := Get_Field (N, Offset);
+ begin
+ return Result;
+ end Get_Valid_32_Bit_Field;
+
+ procedure Set_1_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Type)
+ is
+ pragma Assert (Field_Type'Size = 1);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Type, Field_Size_1_Bit);
+ begin
+ Set_1_Bit_Val (N, Offset, Cast (Val));
+ end Set_1_Bit_Field;
+
+ procedure Set_2_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Type)
+ is
+ pragma Assert (Field_Type'Size = 2);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Type, Field_Size_2_Bit);
+ begin
+ Set_2_Bit_Val (N, Offset, Cast (Val));
+ end Set_2_Bit_Field;
+
+ procedure Set_4_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Type)
+ is
+ pragma Assert (Field_Type'Size = 4);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Type, Field_Size_4_Bit);
+ begin
+ Set_4_Bit_Val (N, Offset, Cast (Val));
+ end Set_4_Bit_Field;
+
+ procedure Set_8_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Type)
+ is
+ pragma Assert (Field_Type'Size = 8);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Type, Field_Size_8_Bit);
+ begin
+ Set_8_Bit_Val (N, Offset, Cast (Val));
+ end Set_8_Bit_Field;
+
+ procedure Set_32_Bit_Field
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Type)
+ is
+ pragma Assert (Field_Type'Size = 32);
+
+ function Cast is new
+ Unchecked_Conversion (Field_Type, Field_Size_32_Bit);
+ begin
+ Set_32_Bit_Val (N, Offset, Cast (Val));
+ end Set_32_Bit_Field;
+
+ function Get_1_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Size_1_Bit
+ is
+ -- We wish we were using packed arrays, but instead we're simulating
+ -- them with modular integers. L here (and elsewhere) is the 'Length
+ -- of that simulated array.
+ L : constant Field_Offset := Slot_Size / 1;
+
+ pragma Debug (Validate_Node_And_Offset (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ return Field_Size_1_Bit (Shift_Right (S, V) and 1);
+ end Get_1_Bit_Val;
+
+ function Get_2_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Size_2_Bit
+ is
+ L : constant Field_Offset := Slot_Size / 2;
+
+ pragma Debug (Validate_Node_And_Offset (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ return Field_Size_2_Bit (Shift_Right (S, V) and 3);
+ end Get_2_Bit_Val;
+
+ function Get_4_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Size_4_Bit
+ is
+ L : constant Field_Offset := Slot_Size / 4;
+
+ pragma Debug (Validate_Node_And_Offset (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ return Field_Size_4_Bit (Shift_Right (S, V) and 15);
+ end Get_4_Bit_Val;
+
+ function Get_8_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Size_8_Bit
+ is
+ L : constant Field_Offset := Slot_Size / 8;
+
+ pragma Debug (Validate_Node_And_Offset (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ return Field_Size_8_Bit (Shift_Right (S, V) and 255);
+ end Get_8_Bit_Val;
+
+ function Get_32_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset) return Field_Size_32_Bit
+ is
+ pragma Debug (Validate_Node_And_Offset (N, Offset));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset);
+ begin
+ return Field_Size_32_Bit (S);
+ end Get_32_Bit_Val;
+
+ procedure Set_1_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Size_1_Bit)
+ is
+ L : constant Field_Offset := Slot_Size / 1;
+
+ pragma Debug (Validate_Node_And_Offset_Write (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ S := (S and not Shift_Left (1, V)) or Shift_Left (Slot (Val), V);
+ end Set_1_Bit_Val;
+
+ procedure Set_2_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Size_2_Bit)
+ is
+ L : constant Field_Offset := Slot_Size / 2;
+
+ pragma Debug (Validate_Node_And_Offset_Write (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ S := (S and not Shift_Left (3, V)) or Shift_Left (Slot (Val), V);
+ end Set_2_Bit_Val;
+
+ procedure Set_4_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Size_4_Bit)
+ is
+ L : constant Field_Offset := Slot_Size / 4;
+
+ pragma Debug (Validate_Node_And_Offset_Write (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ S := (S and not Shift_Left (15, V)) or Shift_Left (Slot (Val), V);
+ end Set_4_Bit_Val;
+
+ procedure Set_8_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Size_8_Bit)
+ is
+ L : constant Field_Offset := Slot_Size / 8;
+
+ pragma Debug (Validate_Node_And_Offset_Write (N, Offset / L));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset / L);
+ V : constant Natural := Natural ((Offset mod L) * (Slot_Size / L));
+ begin
+ S := (S and not Shift_Left (255, V)) or Shift_Left (Slot (Val), V);
+ end Set_8_Bit_Val;
+
+ procedure Set_32_Bit_Val
+ (N : Node_Or_Entity_Id; Offset : Field_Offset; Val : Field_Size_32_Bit)
+ is
+ pragma Debug (Validate_Node_And_Offset_Write (N, Offset));
+
+ S : Slot renames Slots.Table (Node_Offsets.Table (N) + Offset);
+ begin
+ S := Slot (Val);
+ end Set_32_Bit_Val;
+
+ end Atree_Private_Part;
+
+ ---------------
+ -- Set_Field --
+ ---------------
+
+ function Get_Node_Field_Union is new Get_32_Bit_Field (Union_Id)
+ with Inline;
+ -- Called when we don't know whether a field is a Node_Id or a List_Id,
+ -- etc.
+
+ function Get_Field_Value
+ (N : Node_Id; Field : Node_Field) return Field_Size_32_Bit
+ is
+ pragma Assert (Field_Checking.Field_Present (Nkind (N), Field));
+ Desc : Field_Descriptor renames Node_Field_Descriptors (Field);
- function Allocate_New_Node return Node_Id is
- New_Id : Node_Id;
begin
- Nodes.Append (Default_Node);
- New_Id := Nodes.Last;
- Flags.Append (Default_Flags);
- Orig_Nodes.Append (New_Id);
- Nodes.Table (Nodes.Last).Comes_From_Source :=
- Comes_From_Source_Default;
- Allocate_List_Tables (Nodes.Last);
- Report (Target => New_Id, Source => Empty);
+ case Field_Size (Desc.Kind) is
+ when 1 => return Field_Size_32_Bit (Get_1_Bit_Val (N, Desc.Offset));
+ when 2 => return Field_Size_32_Bit (Get_2_Bit_Val (N, Desc.Offset));
+ when 4 => return Field_Size_32_Bit (Get_4_Bit_Val (N, Desc.Offset));
+ when 8 => return Field_Size_32_Bit (Get_8_Bit_Val (N, Desc.Offset));
+ when others => return Get_32_Bit_Val (N, Desc.Offset); -- 32
+ end case;
+ end Get_Field_Value;
- return New_Id;
- end Allocate_New_Node;
+ procedure Set_Field_Value
+ (N : Node_Id; Field : Node_Field; Val : Field_Size_32_Bit)
+ is
+ pragma Assert (Field_Checking.Field_Present (Nkind (N), Field));
+ Desc : Field_Descriptor renames Node_Field_Descriptors (Field);
- --------------
- -- Analyzed --
- --------------
+ begin
+ case Field_Size (Desc.Kind) is
+ when 1 => Set_1_Bit_Val (N, Desc.Offset, Field_Size_1_Bit (Val));
+ when 2 => Set_2_Bit_Val (N, Desc.Offset, Field_Size_2_Bit (Val));
+ when 4 => Set_4_Bit_Val (N, Desc.Offset, Field_Size_4_Bit (Val));
+ when 8 => Set_8_Bit_Val (N, Desc.Offset, Field_Size_8_Bit (Val));
+ when others => Set_32_Bit_Val (N, Desc.Offset, Val); -- 32
+ end case;
+ end Set_Field_Value;
- function Analyzed (N : Node_Id) return Boolean is
+ procedure Reinit_Field_To_Zero (N : Node_Id; Field : Node_Field) is
begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Analyzed;
- end Analyzed;
+ Set_Field_Value (N, Field, 0);
+ end Reinit_Field_To_Zero;
- --------------------------
- -- Basic_Set_Convention --
- --------------------------
+ function Field_Is_Initial_Zero
+ (N : Node_Id; Field : Node_Field) return Boolean is
+ begin
+ return Get_Field_Value (N, Field) = 0;
+ end Field_Is_Initial_Zero;
- procedure Basic_Set_Convention (E : Entity_Id; Val : Convention_Id) is
+ procedure Reinit_Field_To_Zero
+ (N : Node_Id; Field : Entity_Field; Old_Ekind : Entity_Kind_Set) is
begin
- pragma Assert (Nkind (E) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (E + 2).Field12'Unrestricted_Access)).Convention := Val;
- end Basic_Set_Convention;
+ pragma Assert (Old_Ekind (Ekind (N)), "Reinit: " & Ekind (N)'Img);
+ Reinit_Field_To_Zero (N, Field);
+ end Reinit_Field_To_Zero;
- -------------------
- -- Check_Actuals --
- -------------------
+ procedure Reinit_Field_To_Zero
+ (N : Node_Id; Field : Entity_Field; Old_Ekind : Entity_Kind) is
+ Old_Ekind_Set : Entity_Kind_Set := (others => False);
+ begin
+ Old_Ekind_Set (Old_Ekind) := True;
+ Reinit_Field_To_Zero (N, Field, Old_Ekind => Old_Ekind_Set);
+ end Reinit_Field_To_Zero;
+
+ procedure Check_Vanishing_Fields
+ (Old_N : Node_Id; New_Kind : Node_Kind)
+ is
+ Old_Kind : constant Node_Kind := Nkind (Old_N);
+
+ -- If this fails, it means you need to call Reinit_Field_To_Zero before
+ -- calling Set_Nkind.
+
+ begin
+ for J in Node_Field_Table (Old_Kind)'Range loop
+ declare
+ F : constant Node_Field := Node_Field_Table (Old_Kind) (J);
+ begin
+ if not Field_Checking.Field_Present (New_Kind, F) then
+ if not Field_Is_Initial_Zero (Old_N, F) then
+ Write_Str (Old_Kind'Img);
+ Write_Str (" --> ");
+ Write_Str (New_Kind'Img);
+ Write_Str (" Nonzero field ");
+ Write_Str (F'Img);
+ Write_Str (" is vanishing for node ");
+ Write_Int (Nat (Old_N));
+ Write_Eol;
+
+ raise Program_Error;
+ end if;
+ end if;
+ end;
+ end loop;
+ end Check_Vanishing_Fields;
+
+ function Get_Field_Value
+ (N : Entity_Id; Field : Entity_Field) return Field_Size_32_Bit
+ is
+ pragma Assert (Field_Checking.Field_Present (Ekind (N), Field));
+ Desc : Field_Descriptor renames Entity_Field_Descriptors (Field);
+ begin
+ case Field_Size (Desc.Kind) is
+ when 1 => return Field_Size_32_Bit (Get_1_Bit_Val (N, Desc.Offset));
+ when 2 => return Field_Size_32_Bit (Get_2_Bit_Val (N, Desc.Offset));
+ when 4 => return Field_Size_32_Bit (Get_4_Bit_Val (N, Desc.Offset));
+ when 8 => return Field_Size_32_Bit (Get_8_Bit_Val (N, Desc.Offset));
+ when others => return Get_32_Bit_Val (N, Desc.Offset); -- 32
+ end case;
+ end Get_Field_Value;
+
+ procedure Set_Field_Value
+ (N : Entity_Id; Field : Entity_Field; Val : Field_Size_32_Bit)
+ is
+ pragma Assert (Field_Checking.Field_Present (Ekind (N), Field));
+ Desc : Field_Descriptor renames Entity_Field_Descriptors (Field);
+ begin
+ case Field_Size (Desc.Kind) is
+ when 1 => Set_1_Bit_Val (N, Desc.Offset, Field_Size_1_Bit (Val));
+ when 2 => Set_2_Bit_Val (N, Desc.Offset, Field_Size_2_Bit (Val));
+ when 4 => Set_4_Bit_Val (N, Desc.Offset, Field_Size_4_Bit (Val));
+ when 8 => Set_8_Bit_Val (N, Desc.Offset, Field_Size_8_Bit (Val));
+ when others => Set_32_Bit_Val (N, Desc.Offset, Val); -- 32
+ end case;
+ end Set_Field_Value;
+
+ procedure Reinit_Field_To_Zero (N : Node_Id; Field : Entity_Field) is
+ begin
+ Set_Field_Value (N, Field, 0);
+ end Reinit_Field_To_Zero;
+
+ function Field_Is_Initial_Zero
+ (N : Entity_Id; Field : Entity_Field) return Boolean is
+ begin
+ return Get_Field_Value (N, Field) = 0;
+ end Field_Is_Initial_Zero;
+
+ procedure Check_Vanishing_Fields
+ (Old_N : Entity_Id; New_Kind : Entity_Kind)
+ is
+ Old_Kind : constant Entity_Kind := Ekind (Old_N);
+
+ -- If this fails, it means you need to call Reinit_Field_To_Zero before
+ -- calling Mutate_Ekind. But we have many cases where vanishing fields
+ -- are expected to reappear after converting to/from E_Void. Other cases
+ -- are more problematic; set a breakpoint on "(non-E_Void case)" below.
- function Check_Actuals (N : Node_Id) return Boolean is
begin
- return Flags.Table (N).Check_Actuals;
- end Check_Actuals;
+ for J in Entity_Field_Table (Old_Kind)'Range loop
+ declare
+ F : constant Entity_Field := Entity_Field_Table (Old_Kind) (J);
+ begin
+ if not Field_Checking.Field_Present (New_Kind, F) then
+ if not Field_Is_Initial_Zero (Old_N, F) then
+ Write_Str (Old_Kind'Img);
+ Write_Str (" --> ");
+ Write_Str (New_Kind'Img);
+ Write_Str (" Nonzero field ");
+ Write_Str (F'Img);
+ Write_Str (" is vanishing for node ");
+ Write_Int (Nat (Old_N));
+ Write_Eol;
+
+ if New_Kind = E_Void or else Old_Kind = E_Void then
+ Write_Line (" (E_Void case)");
+ else
+ Write_Line (" (non-E_Void case)");
+ end if;
+ end if;
+ end if;
+ end;
+ end loop;
+ end Check_Vanishing_Fields;
+
+ Nkind_Offset : constant Field_Offset :=
+ Node_Field_Descriptors (F_Nkind).Offset;
+
+ procedure Set_Node_Kind_Type is new Set_8_Bit_Field (Node_Kind) with Inline;
+
+ procedure Init_Nkind (N : Node_Id; Val : Node_Kind) is
+ pragma Assert (Field_Is_Initial_Zero (N, F_Nkind));
+ begin
+ Set_Node_Kind_Type (N, Nkind_Offset, Val);
+ end Init_Nkind;
+
+ procedure Mutate_Nkind
+ (N : Node_Id; Val : Node_Kind; Old_Size : Slot_Count)
+ is
+ New_Size : constant Slot_Count := Size_In_Slots_To_Alloc (Val);
+
+ All_Node_Offsets : Node_Offsets.Table_Type renames
+ Node_Offsets.Table (Node_Offsets.First .. Node_Offsets.Last);
+ begin
+ pragma Debug (Check_Vanishing_Fields (N, Val));
+
+ -- Grow the slots if necessary
+
+ if Old_Size < New_Size then
+ declare
+ Old_Last_Slot : constant Node_Offset := Slots.Last;
+ Old_Off_0 : constant Node_Offset := Off_0 (N);
+ begin
+ if Old_Last_Slot = Old_Off_0 + Old_Size - 1 then
+ -- In this case, the slots are at the end of Slots.Table, so we
+ -- don't need to move them.
+ Slots.Set_Last (Old_Last_Slot + New_Size - Old_Size);
+
+ else
+ -- Move the slots
+ All_Node_Offsets (N) := Alloc_Slots (New_Size);
+ Copy_Slots (Old_Off_0, Off_0 (N), Old_Size);
+ pragma Debug (Zero_Slots (Old_Off_0, Old_Off_0 + Old_Size - 1));
+ end if;
+ end;
+
+ Zero_Slots (Off_0 (N) + Old_Size, Slots.Last);
+ end if;
+
+ Set_Node_Kind_Type (N, Nkind_Offset, Val);
+ pragma Debug (Validate_Node_Write (N));
+ end Mutate_Nkind;
+
+ procedure Mutate_Nkind (N : Node_Id; Val : Node_Kind) is
+ begin
+ Mutate_Nkind (N, Val, Old_Size => Size_In_Slots (N));
+ end Mutate_Nkind;
+
+ Ekind_Offset : constant Field_Offset :=
+ Entity_Field_Descriptors (F_Ekind).Offset;
+
+ procedure Set_Entity_Kind_Type is new Set_8_Bit_Field (Entity_Kind)
+ with Inline;
+
+ procedure Mutate_Ekind
+ (N : Entity_Id; Val : Entity_Kind)
+ is
+ begin
+ if Ekind (N) = Val then
+ return;
+ end if;
+
+ if Debug_Flag_Underscore_V then
+ pragma Debug (Check_Vanishing_Fields (N, Val));
+ end if;
+
+ -- For now, we are allocating all entities with the same size, so we
+ -- don't need to reallocate slots here.
+
+ Set_Entity_Kind_Type (N, Ekind_Offset, Val);
+ pragma Debug (Validate_Node_Write (N));
+ end Mutate_Ekind;
+
+ -----------------------
+ -- Allocate_New_Node --
+ -----------------------
+
+ function Allocate_New_Node (Kind : Node_Kind) return Node_Id is
+ begin
+ return Result : constant Node_Id := Alloc_Node_Id do
+ declare
+ Sz : constant Slot_Count := Size_In_Slots_To_Alloc (Kind);
+ Sl : constant Node_Offset := Alloc_Slots (Sz);
+ begin
+ Node_Offsets.Table (Result) := Sl;
+ Zero_Slots (Sl, Sl + Sz - 1);
+ end;
+
+ Init_Nkind (Result, Kind);
+
+ Orig_Nodes.Append (Result);
+ Set_Comes_From_Source (Result, Comes_From_Source_Default);
+ Allocate_List_Tables (Result);
+ Report (Target => Result, Source => Empty);
+ end return;
+ end Allocate_New_Node;
--------------------------
-- Check_Error_Detected --
@@ -628,20 +1035,21 @@ package body Atree is
-- Change_Node --
-----------------
- procedure Change_Node (N : Node_Id; New_Node_Kind : Node_Kind) is
-
- -- Flags table attributes
+ procedure Change_Node (N : Node_Id; New_Kind : Node_Kind) is
+ pragma Debug (Validate_Node_Write (N));
+ pragma Assert (Nkind (N) not in N_Entity);
+ pragma Assert (New_Kind not in N_Entity);
- Save_CA : constant Boolean := Flags.Table (N).Check_Actuals;
- Save_Is_IGN : constant Boolean := Flags.Table (N).Is_Ignored_Ghost_Node;
+ Old_Size : constant Slot_Count := Size_In_Slots (N);
+ New_Size : constant Slot_Count := Size_In_Slots_To_Alloc (New_Kind);
- -- Nodes table attributes
-
- Save_CFS : constant Boolean := Nodes.Table (N).Comes_From_Source;
- Save_In_List : constant Boolean := Nodes.Table (N).In_List;
- Save_Link : constant Union_Id := Nodes.Table (N).Link;
- Save_Posted : constant Boolean := Nodes.Table (N).Error_Posted;
Save_Sloc : constant Source_Ptr := Sloc (N);
+ Save_In_List : constant Boolean := In_List (N);
+ Save_CFS : constant Boolean := Comes_From_Source (N);
+ Save_Posted : constant Boolean := Error_Posted (N);
+ Save_CA : constant Boolean := Check_Actuals (N);
+ Save_Is_IGN : constant Boolean := Is_Ignored_Ghost_Node (N);
+ Save_Link : constant Union_Id := Link (N);
Par_Count : Nat := 0;
@@ -650,73 +1058,104 @@ package body Atree is
Par_Count := Paren_Count (N);
end if;
- Nodes.Table (N) := Default_Node;
- Nodes.Table (N).Sloc := Save_Sloc;
- Nodes.Table (N).In_List := Save_In_List;
- Nodes.Table (N).Link := Save_Link;
- Nodes.Table (N).Comes_From_Source := Save_CFS;
- Nodes.Table (N).Nkind := New_Node_Kind;
- Nodes.Table (N).Error_Posted := Save_Posted;
+ if New_Size > Old_Size then
+ declare
+ New_Offset : constant Field_Offset := Alloc_Slots (New_Size);
+ begin
+ pragma Debug (Zero_Slots (N));
+ Node_Offsets.Table (N) := New_Offset;
+ Zero_Slots (New_Offset, New_Offset + New_Size - 1);
+ end;
+
+ else
+ Zero_Slots (N);
+ end if;
+
+ Mutate_Nkind (N, New_Kind, Old_Size);
- Flags.Table (N) := Default_Flags;
- Flags.Table (N).Check_Actuals := Save_CA;
- Flags.Table (N).Is_Ignored_Ghost_Node := Save_Is_IGN;
+ Set_Sloc (N, Save_Sloc);
+ Set_In_List (N, Save_In_List);
+ Set_Comes_From_Source (N, Save_CFS);
+ Set_Error_Posted (N, Save_Posted);
+ Set_Check_Actuals (N, Save_CA);
+ Set_Is_Ignored_Ghost_Node (N, Save_Is_IGN);
+ Set_Link (N, Save_Link);
- if New_Node_Kind in N_Subexpr then
+ if New_Kind in N_Subexpr then
Set_Paren_Count (N, Par_Count);
end if;
end Change_Node;
- -----------------------
- -- Comes_From_Source --
- -----------------------
+ ----------------
+ -- Copy_Slots --
+ ----------------
+
+ procedure Copy_Slots (From, To : Node_Offset; Num_Slots : Slot_Count) is
+ pragma Assert (From /= To);
+
+ All_Slots : Slots.Table_Type renames
+ Slots.Table (Slots.First .. Slots.Last);
+
+ Source_Slots : Slots.Table_Type renames
+ All_Slots (From .. From + Num_Slots - 1);
+
+ Destination_Slots : Slots.Table_Type renames
+ All_Slots (To .. To + Num_Slots - 1);
- function Comes_From_Source (N : Node_Id) return Boolean is
begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Comes_From_Source;
- end Comes_From_Source;
+ Destination_Slots := Source_Slots;
+ end Copy_Slots;
- ----------------
- -- Convention --
- ----------------
+ procedure Copy_Slots (Source, Destination : Node_Id) is
+ pragma Debug (Validate_Node (Source));
+ pragma Debug (Validate_Node_Write (Destination));
+ pragma Assert (Source /= Destination);
+
+ S_Size : constant Slot_Count := Size_In_Slots (Source);
+
+ All_Node_Offsets : Node_Offsets.Table_Type renames
+ Node_Offsets.Table (Node_Offsets.First .. Node_Offsets.Last);
- function Convention (E : Entity_Id) return Convention_Id is
begin
- pragma Assert (Nkind (E) in N_Entity);
- return To_Flag_Word (Nodes.Table (E + 2).Field12).Convention;
- end Convention;
+ Copy_Slots
+ (All_Node_Offsets (Source), All_Node_Offsets (Destination), S_Size);
+ end Copy_Slots;
---------------
-- Copy_Node --
---------------
- procedure Copy_Node (Source : Node_Id; Destination : Node_Id) is
- Save_In_List : constant Boolean := Nodes.Table (Destination).In_List;
- Save_Link : constant Union_Id := Nodes.Table (Destination).Link;
+ procedure Copy_Node (Source, Destination : Node_Or_Entity_Id) is
+ pragma Assert (Source /= Destination);
+
+ Save_In_List : constant Boolean := In_List (Destination);
+ Save_Link : constant Union_Id := Link (Destination);
+
+ S_Size : constant Slot_Count := Size_In_Slots_To_Alloc (Source);
+ D_Size : constant Slot_Count := Size_In_Slots_To_Alloc (Destination);
begin
- pragma Debug (New_Node_Debugging_Output (Source));
- pragma Debug (New_Node_Debugging_Output (Destination));
+ New_Node_Debugging_Output (Source);
+ New_Node_Debugging_Output (Destination);
- Nodes.Table (Destination) := Nodes.Table (Source);
- Nodes.Table (Destination).In_List := Save_In_List;
- Nodes.Table (Destination).Link := Save_Link;
+ -- Currently all entities are allocated the same number of slots.
+ -- Hopefully that won't always be the case, but if it is, the following
+ -- is suboptimal if D_Size < S_Size, because in fact the Destination was
+ -- allocated the max.
- Flags.Table (Destination) := Flags.Table (Source);
+ -- If Source doesn't fit in Destination, we need to allocate
- Set_Paren_Count_Of_Copy (Target => Destination, Source => Source);
+ if D_Size < S_Size then
+ pragma Debug (Zero_Slots (Destination)); -- destroy old slots
+ Node_Offsets.Table (Destination) := Alloc_Slots (S_Size);
+ end if;
- -- Deal with copying extension nodes if present. No need to copy flags
- -- table entries, since they are always zero for extending components.
+ Copy_Slots (Source, Destination);
- pragma Assert (Has_Extension (Source) = Has_Extension (Destination));
+ Set_In_List (Destination, Save_In_List);
+ Set_Link (Destination, Save_Link);
- if Has_Extension (Source) then
- for J in 1 .. Num_Extension_Nodes loop
- Nodes.Table (Destination + J) := Nodes.Table (Source + J);
- end loop;
- end if;
+ Set_Paren_Count_Of_Copy (Target => Destination, Source => Source);
end Copy_Node;
------------------------
@@ -725,10 +1164,9 @@ package body Atree is
function Copy_Separate_List (Source : List_Id) return List_Id is
Result : constant List_Id := New_List;
- Nod : Node_Id;
+ Nod : Node_Id := First (Source);
begin
- Nod := First (Source);
while Present (Nod) loop
Append (Copy_Separate_Tree (Nod), Result);
Next (Nod);
@@ -742,10 +1180,13 @@ package body Atree is
------------------------
function Copy_Separate_Tree (Source : Node_Id) return Node_Id is
+
+ pragma Debug (Validate_Node (Source));
+
New_Id : Node_Id;
function Copy_Entity (E : Entity_Id) return Entity_Id;
- -- Copy Entity, copying only the Ekind and Chars fields
+ -- Copy Entity, copying only Chars field
function Copy_List (List : List_Id) return List_Id;
-- Copy list
@@ -759,25 +1200,13 @@ package body Atree is
-----------------
function Copy_Entity (E : Entity_Id) return Entity_Id is
- New_Ent : Entity_Id;
-
begin
- -- Build appropriate node
-
- case N_Entity (Nkind (E)) is
- when N_Defining_Identifier =>
- New_Ent := New_Entity (N_Defining_Identifier, Sloc (E));
-
- when N_Defining_Character_Literal =>
- New_Ent := New_Entity (N_Defining_Character_Literal, Sloc (E));
+ pragma Assert (Nkind (E) in N_Entity);
- when N_Defining_Operator_Symbol =>
- New_Ent := New_Entity (N_Defining_Operator_Symbol, Sloc (E));
- end case;
-
- Set_Chars (New_Ent, Chars (E));
- -- Set_Comes_From_Source (New_Ent, Comes_From_Source (E));
- return New_Ent;
+ return Result : constant Entity_Id := New_Entity (Nkind (E), Sloc (E))
+ do
+ Set_Chars (Result, Chars (E));
+ end return;
end Copy_Entity;
---------------
@@ -797,7 +1226,7 @@ package body Atree is
E := First (List);
while Present (E) loop
- if Has_Extension (E) then
+ if Is_Entity (E) then
Append (Copy_Entity (E), NL);
else
Append (Copy_Separate_Tree (E), NL);
@@ -821,7 +1250,9 @@ package body Atree is
if Field in Node_Range then
New_N := Union_Id (Copy_Separate_Tree (Node_Id (Field)));
- if Parent (Node_Id (Field)) = Source then
+ if Present (Node_Id (Field))
+ and then Parent (Node_Id (Field)) = Source
+ then
Set_Parent (Node_Id (New_N), New_Id);
end if;
@@ -841,25 +1272,21 @@ package body Atree is
end if;
end Possible_Copy;
+ procedure Walk is new Walk_Sinfo_Fields_Pairwise (Possible_Copy);
+
-- Start of processing for Copy_Separate_Tree
begin
if Source <= Empty_Or_Error then
return Source;
- elsif Has_Extension (Source) then
+ elsif Is_Entity (Source) then
return Copy_Entity (Source);
else
New_Id := New_Copy (Source);
- -- Recursively copy descendants
-
- Set_Field1 (New_Id, Possible_Copy (Field1 (New_Id)));
- Set_Field2 (New_Id, Possible_Copy (Field2 (New_Id)));
- Set_Field3 (New_Id, Possible_Copy (Field3 (New_Id)));
- Set_Field4 (New_Id, Possible_Copy (Field4 (New_Id)));
- Set_Field5 (New_Id, Possible_Copy (Field5 (New_Id)));
+ Walk (New_Id, Source);
-- Explicitly copy the aspect specifications as those do not reside
-- in a node field.
@@ -902,18 +1329,24 @@ package body Atree is
-- binder, so we don't want to add that dependency.
-- ??? Revisit now that ASIS is no longer using this unit.
- -- Consequently we have no choice but to hold our noses and do
- -- the change manually. At least we are Atree, so this odd use
- -- of Atree.Unchecked_Access is at least all in the family.
+ -- Consequently we have no choice but to hold our noses and do the
+ -- change manually. At least we are Atree, so this is at least all
+ -- in the family.
- -- Change the node type
+ -- Clear the Chars field which is not present in a selected
+ -- component node, so we don't want a junk value around. Note that
+ -- we can't just call Set_Chars, because Empty is of the wrong
+ -- type, and is outside the range of Name_Id.
- Atree.Unchecked_Access.Set_Nkind (New_Id, N_Selected_Component);
+ Reinit_Field_To_Zero (New_Id, F_Chars);
+ Reinit_Field_To_Zero (New_Id, F_Has_Private_View);
+ Reinit_Field_To_Zero (New_Id, F_Is_Elaboration_Checks_OK_Node);
+ Reinit_Field_To_Zero (New_Id, F_Is_Elaboration_Warnings_OK_Node);
+ Reinit_Field_To_Zero (New_Id, F_Is_SPARK_Mode_On_Node);
- -- Clear the Chars field which is not present in a selected
- -- component node, so we don't want a junk value around.
+ -- Change the node type
- Set_Node1 (New_Id, Empty);
+ Mutate_Nkind (New_Id, N_Selected_Component);
end if;
-- All done, return copied node
@@ -922,58 +1355,22 @@ package body Atree is
end if;
end Copy_Separate_Tree;
- -----------
- -- Ekind --
- -----------
-
- function Ekind (E : Entity_Id) return Entity_Kind is
- begin
- pragma Assert (Nkind (E) in N_Entity);
- return N_To_E (Nodes.Table (E + 1).Nkind);
- end Ekind;
-
- ------------------
- -- Error_Posted --
- ------------------
-
- function Error_Posted (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Error_Posted;
- end Error_Posted;
-
-----------------------
-- Exchange_Entities --
-----------------------
procedure Exchange_Entities (E1 : Entity_Id; E2 : Entity_Id) is
- Temp_Ent : Node_Record;
- Temp_Flg : Flags_Byte;
-
- begin
- pragma Debug (New_Node_Debugging_Output (E1));
- pragma Debug (New_Node_Debugging_Output (E2));
-
- pragma Assert (True
- and then Has_Extension (E1)
- and then Has_Extension (E2)
- and then not Nodes.Table (E1).In_List
- and then not Nodes.Table (E2).In_List);
-
- -- Exchange the contents of the two entities
-
- for J in 0 .. Num_Extension_Nodes loop
- Temp_Ent := Nodes.Table (E1 + J);
- Nodes.Table (E1 + J) := Nodes.Table (E2 + J);
- Nodes.Table (E2 + J) := Temp_Ent;
- end loop;
+ pragma Debug (Validate_Node_Write (E1));
+ pragma Debug (Validate_Node_Write (E2));
+ pragma Assert
+ (Is_Entity (E1) and then Is_Entity (E2)
+ and then not In_List (E1) and then not In_List (E2));
- -- Exchange flag bytes for first component. No need to do the exchange
- -- for the other components, since the flag bytes are always zero.
+ Old_E1 : constant Node_Offset := Node_Offsets.Table (E1);
- Temp_Flg := Flags.Table (E1);
- Flags.Table (E1) := Flags.Table (E2);
- Flags.Table (E2) := Temp_Flg;
+ begin
+ Node_Offsets.Table (E1) := Node_Offsets.Table (E2);
+ Node_Offsets.Table (E2) := Old_E1;
-- That exchange exchanged the parent pointers as well, which is what
-- we want, but we need to patch up the defining identifier pointers
@@ -982,79 +1379,42 @@ package body Atree is
-- case we don't do anything otherwise we won't be able to revert back
-- to the original situation.
- -- Shouldn't this use Is_Itype instead of the Parent test
+ -- Shouldn't this use Is_Itype instead of the Parent test???
if Present (Parent (E1)) and then Present (Parent (E2)) then
Set_Defining_Identifier (Parent (E1), E1);
Set_Defining_Identifier (Parent (E2), E2);
end if;
+
+ New_Node_Debugging_Output (E1);
+ New_Node_Debugging_Output (E2);
end Exchange_Entities;
-----------------
-- Extend_Node --
-----------------
- function Extend_Node (Source : Node_Id) return Entity_Id is
+ procedure Extend_Node (Source : Node_Id) is
pragma Assert (Present (Source));
- pragma Assert (not Has_Extension (Source));
- New_Id : Entity_Id;
-
- procedure Debug_Extend_Node;
- pragma Inline (Debug_Extend_Node);
- -- Debug routine for -gnatdn
-
- -----------------------
- -- Debug_Extend_Node --
- -----------------------
-
- procedure Debug_Extend_Node is
- begin
- if Debug_Flag_N then
- Write_Str ("Extend node ");
- Write_Int (Int (Source));
-
- if New_Id = Source then
- Write_Str (" in place");
- else
- Write_Str (" copied to ");
- Write_Int (Int (New_Id));
- end if;
-
- -- Write_Eol;
- end if;
- end Debug_Extend_Node;
+ pragma Assert (not Is_Entity (Source));
+
+ Old_Kind : constant Node_Kind := Nkind (Source);
+ New_Kind : constant Node_Kind :=
+ (case Old_Kind is
+ when N_Character_Literal => N_Defining_Character_Literal,
+ when N_Identifier => N_Defining_Identifier,
+ when N_Operator_Symbol => N_Defining_Operator_Symbol,
+ when others => N_Unused_At_Start); -- can't happen
+ -- The new NKind, which is the appropriate value of N_Entity based on
+ -- the old Nkind. N_xxx is mapped to N_Defining_xxx.
+ pragma Assert (New_Kind in N_Entity);
-- Start of processing for Extend_Node
begin
- -- Optimize the case where Source happens to be the last node; in that
- -- case, we don't need to move it.
-
- if Source = Nodes.Last then
- New_Id := Source;
- else
- Nodes.Append (Nodes.Table (Source));
- Flags.Append (Flags.Table (Source));
- New_Id := Nodes.Last;
- Orig_Nodes.Append (New_Id);
- end if;
-
- Set_Check_Actuals (New_Id, False);
-
- -- Set extension nodes
-
- for J in 1 .. Num_Extension_Nodes loop
- Nodes.Append (Default_Node_Extension);
- Flags.Append (Default_Flags);
- end loop;
-
- Orig_Nodes.Set_Last (Nodes.Last);
- Allocate_List_Tables (Nodes.Last);
- Report (Target => New_Id, Source => Source);
-
- pragma Debug (Debug_Extend_Node);
-
- return New_Id;
+ Set_Check_Actuals (Source, False);
+ Mutate_Nkind (Source, New_Kind);
+ Report (Target => Source, Source => Source);
end Extend_Node;
-----------------
@@ -1081,7 +1441,7 @@ package body Atree is
if Field in Node_Range
and then Present (Node_Id (Field))
- and then not Nodes.Table (Node_Id (Field)).In_List
+ and then not In_List (Node_Id (Field))
and then Parent (Node_Id (Field)) = Ref_Node
then
Set_Parent (Node_Id (Field), Fix_Node);
@@ -1096,25 +1456,24 @@ package body Atree is
end if;
end Fix_Parent;
+ Fields : Node_Field_Array renames
+ Node_Field_Table (Nkind (Fix_Node)).all;
+
-- Start of processing for Fix_Parents
begin
- Fix_Parent (Field1 (Fix_Node));
- Fix_Parent (Field2 (Fix_Node));
- Fix_Parent (Field3 (Fix_Node));
- Fix_Parent (Field4 (Fix_Node));
- Fix_Parent (Field5 (Fix_Node));
+ for J in Fields'Range loop
+ declare
+ Desc : Field_Descriptor renames
+ Node_Field_Descriptors (Fields (J));
+ begin
+ if Desc.Kind in Node_Id_Field | List_Id_Field then
+ Fix_Parent (Get_Node_Field_Union (Fix_Node, Desc.Offset));
+ end if;
+ end;
+ end loop;
end Fix_Parents;
- -------------------
- -- Flags_Address --
- -------------------
-
- function Flags_Address return System.Address is
- begin
- return Flags.Table (First_Node_Id)'Address;
- end Flags_Address;
-
-----------------------------------
-- Get_Comes_From_Source_Default --
-----------------------------------
@@ -1124,24 +1483,14 @@ package body Atree is
return Comes_From_Source_Default;
end Get_Comes_From_Source_Default;
- -----------------
- -- Has_Aspects --
- -----------------
-
- function Has_Aspects (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Has_Aspects;
- end Has_Aspects;
-
- -------------------
- -- Has_Extension --
- -------------------
+ ---------------
+ -- Is_Entity --
+ ---------------
- function Has_Extension (N : Node_Id) return Boolean is
+ function Is_Entity (N : Node_Or_Entity_Id) return Boolean is
begin
- return N < Nodes.Last and then Nodes.Table (N + 1).Is_Extension;
- end Has_Extension;
+ return Nkind (N) in N_Entity;
+ end Is_Entity;
----------------
-- Initialize --
@@ -1152,40 +1501,28 @@ package body Atree is
pragma Warnings (Off, Dummy);
begin
- Atree_Private_Part.Nodes.Init;
- Atree_Private_Part.Flags.Init;
- Orig_Nodes.Init;
- Paren_Counts.Init;
-
-- Allocate Empty node
Dummy := New_Node (N_Empty, No_Location);
- Set_Name1 (Empty, No_Name);
+ Set_Chars (Empty, No_Name);
+ pragma Assert (Dummy = Empty);
-- Allocate Error node, and set Error_Posted, since we certainly
-- only generate an Error node if we do post some kind of error.
Dummy := New_Node (N_Error, No_Location);
- Set_Name1 (Error, Error_Name);
+ Set_Chars (Error, Error_Name);
Set_Error_Posted (Error, True);
+ pragma Assert (Dummy = Error);
end Initialize;
- ---------------------------
- -- Is_Ignored_Ghost_Node --
- ---------------------------
-
- function Is_Ignored_Ghost_Node (N : Node_Id) return Boolean is
- begin
- return Flags.Table (N).Is_Ignored_Ghost_Node;
- end Is_Ignored_Ghost_Node;
-
--------------------------
-- Is_Rewrite_Insertion --
--------------------------
function Is_Rewrite_Insertion (Node : Node_Id) return Boolean is
begin
- return Nodes.Table (Node).Rewrite_Ins;
+ return Rewrite_Ins (Node);
end Is_Rewrite_Insertion;
-----------------------------
@@ -1203,7 +1540,7 @@ package body Atree is
function Last_Node_Id return Node_Id is
begin
- return Nodes.Last;
+ return Node_Offsets.Last;
end Last_Node_Id;
----------
@@ -1212,14 +1549,6 @@ package body Atree is
procedure Lock is
begin
- -- We used to Release the tables, as in the comments below, but that is
- -- a waste of time. We're only wasting virtual memory here, and the
- -- release calls copy large amounts of data.
- -- ???Get rid of Release?
-
- -- Flags.Release;
- Flags.Locked := True;
- -- Orig_Nodes.Release;
Orig_Nodes.Locked := True;
end Lock;
@@ -1239,6 +1568,8 @@ package body Atree is
procedure Mark_New_Ghost_Node (N : Node_Or_Entity_Id) is
begin
+ pragma Debug (Validate_Node_Write (N));
+
-- The Ghost node is created within a Ghost region
if Ghost_Mode = Check then
@@ -1268,7 +1599,7 @@ package body Atree is
procedure Mark_Rewrite_Insertion (New_Node : Node_Id) is
begin
- Nodes.Table (New_Node).Rewrite_Ins := True;
+ Set_Rewrite_Ins (New_Node);
end Mark_Rewrite_Insertion;
--------------
@@ -1276,61 +1607,52 @@ package body Atree is
--------------
function New_Copy (Source : Node_Id) return Node_Id is
- New_Id : Node_Id;
+ pragma Debug (Validate_Node (Source));
+ S_Size : constant Slot_Count := Size_In_Slots_To_Alloc (Source);
begin
if Source <= Empty_Or_Error then
return Source;
end if;
- Nodes.Append (Nodes.Table (Source));
- Flags.Append (Flags.Table (Source));
- New_Id := Nodes.Last;
- Orig_Nodes.Append (New_Id);
- Set_Check_Actuals (New_Id, False);
- Set_Paren_Count_Of_Copy (Target => New_Id, Source => Source);
+ return New_Id : constant Node_Id := Alloc_Node_Id do
+ Node_Offsets.Table (New_Id) := Alloc_Slots (S_Size);
+ Orig_Nodes.Append (New_Id);
+ Copy_Slots (Source, New_Id);
- -- Set extension nodes if required
+ Set_Check_Actuals (New_Id, False);
+ Set_Paren_Count_Of_Copy (Target => New_Id, Source => Source);
- if Has_Extension (Source) then
- for J in 1 .. Num_Extension_Nodes loop
- Nodes.Append (Nodes.Table (Source + J));
- Flags.Append (Flags.Table (Source + J));
- end loop;
- Orig_Nodes.Set_Last (Nodes.Last);
- else
- pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
- end if;
+ Allocate_List_Tables (New_Id);
+ Report (Target => New_Id, Source => Source);
- Allocate_List_Tables (Nodes.Last);
- Report (Target => New_Id, Source => Source);
+ Set_In_List (New_Id, False);
+ Set_Link (New_Id, Empty_List_Or_Node);
- Nodes.Table (New_Id).In_List := False;
- Nodes.Table (New_Id).Link := Empty_List_Or_Node;
+ -- If the original is marked as a rewrite insertion, then unmark the
+ -- copy, since we inserted the original, not the copy.
- -- If the original is marked as a rewrite insertion, then unmark the
- -- copy, since we inserted the original, not the copy.
+ Set_Rewrite_Ins (New_Id, False);
- Nodes.Table (New_Id).Rewrite_Ins := False;
- pragma Debug (New_Node_Debugging_Output (New_Id));
+ -- Clear Is_Overloaded since we cannot have semantic interpretations
+ -- of this new node.
- -- Clear Is_Overloaded since we cannot have semantic interpretations
- -- of this new node.
+ if Nkind (Source) in N_Subexpr then
+ Set_Is_Overloaded (New_Id, False);
+ end if;
- if Nkind (Source) in N_Subexpr then
- Set_Is_Overloaded (New_Id, False);
- end if;
+ -- Always clear Has_Aspects, the caller must take care of copying
+ -- aspects if this is required for the particular situation.
- -- Always clear Has_Aspects, the caller must take care of copying
- -- aspects if this is required for the particular situation.
+ Set_Has_Aspects (New_Id, False);
- Set_Has_Aspects (New_Id, False);
+ -- Mark the copy as Ghost depending on the current Ghost region
- -- Mark the copy as Ghost depending on the current Ghost region
+ Mark_New_Ghost_Node (New_Id);
- Mark_New_Ghost_Node (New_Id);
+ New_Node_Debugging_Output (New_Id);
- pragma Assert (New_Id /= Source);
- return New_Id;
+ pragma Assert (New_Id /= Source);
+ end return;
end New_Copy;
----------------
@@ -1342,17 +1664,9 @@ package body Atree is
New_Sloc : Source_Ptr) return Entity_Id
is
pragma Assert (New_Node_Kind in N_Entity);
- New_Id : constant Entity_Id := Allocate_New_Node;
+ New_Id : constant Entity_Id := Allocate_New_Node (New_Node_Kind);
+ pragma Assert (Original_Node (Node_Offsets.Last) = Node_Offsets.Last);
begin
- -- Set extension nodes
-
- for J in 1 .. Num_Extension_Nodes loop
- Nodes.Append (Default_Node_Extension);
- Flags.Append (Default_Flags);
- end loop;
-
- Orig_Nodes.Set_Last (Nodes.Last);
-
-- If this is a node with a real location and we are generating
-- source nodes, then reset Current_Error_Node. This is useful
-- if we bomb during parsing to get a error location for the bomb.
@@ -1361,14 +1675,14 @@ package body Atree is
Current_Error_Node := New_Id;
end if;
- Nodes.Table (New_Id).Nkind := New_Node_Kind;
- Nodes.Table (New_Id).Sloc := New_Sloc;
- pragma Debug (New_Node_Debugging_Output (New_Id));
+ Set_Sloc (New_Id, New_Sloc);
-- Mark the new entity as Ghost depending on the current Ghost region
Mark_New_Ghost_Node (New_Id);
+ New_Node_Debugging_Output (New_Id);
+
return New_Id;
end New_Entity;
@@ -1381,12 +1695,10 @@ package body Atree is
New_Sloc : Source_Ptr) return Node_Id
is
pragma Assert (New_Node_Kind not in N_Entity);
- New_Id : constant Node_Id := Allocate_New_Node;
- pragma Assert (Orig_Nodes.Table (Orig_Nodes.Last) = Nodes.Last);
+ New_Id : constant Node_Id := Allocate_New_Node (New_Node_Kind);
+ pragma Assert (Original_Node (Node_Offsets.Last) = Node_Offsets.Last);
begin
- Nodes.Table (New_Id).Nkind := New_Node_Kind;
- Nodes.Table (New_Id).Sloc := New_Sloc;
- pragma Debug (New_Node_Debugging_Output (New_Id));
+ Set_Sloc (New_Id, New_Sloc);
-- If this is a node with a real location and we are generating source
-- nodes, then reset Current_Error_Node. This is useful if we bomb
@@ -1400,46 +1712,11 @@ package body Atree is
Mark_New_Ghost_Node (New_Id);
+ New_Node_Debugging_Output (New_Id);
+
return New_Id;
end New_Node;
- -------------------------
- -- New_Node_Breakpoint --
- -------------------------
-
- procedure nn is
- begin
- Write_Str ("Watched node ");
- Write_Int (Int (Watch_Node));
- Write_Eol;
- end nn;
-
- -------------------------------
- -- New_Node_Debugging_Output --
- -------------------------------
-
- procedure nnd (N : Node_Id) is
- Node_Is_Watched : constant Boolean := N = Watch_Node;
-
- begin
- if Debug_Flag_N or else Node_Is_Watched then
- Node_Debug_Output ("Node", N);
-
- if Node_Is_Watched then
- New_Node_Breakpoint;
- end if;
- end if;
- end nnd;
-
- -----------
- -- Nkind --
- -----------
-
- function Nkind (N : Node_Id) return Node_Kind is
- begin
- return Nodes.Table (N).Nkind;
- end Nkind;
-
--------
-- No --
--------
@@ -1449,37 +1726,26 @@ package body Atree is
return N = Empty;
end No;
- -----------------------
- -- Node_Debug_Output --
- -----------------------
-
- procedure Node_Debug_Output (Op : String; N : Node_Id) is
- begin
- Write_Str (Op);
-
- if Nkind (N) in N_Entity then
- Write_Str (" entity");
- else
- Write_Str (" node");
- end if;
-
- Write_Str (" Id = ");
- Write_Int (Int (N));
- Write_Str (" ");
- Write_Location (Sloc (N));
- Write_Str (" ");
- Write_Str (Node_Kind'Image (Nkind (N)));
- Write_Eol;
- end Node_Debug_Output;
-
-------------------
-- Nodes_Address --
-------------------
- function Nodes_Address return System.Address is
+ function Node_Offsets_Address return System.Address is
begin
- return Nodes.Table (First_Node_Id)'Address;
- end Nodes_Address;
+ return Node_Offsets.Table (First_Node_Id)'Address;
+ end Node_Offsets_Address;
+
+ function Slots_Address return System.Address is
+ Slot_Byte_Size : constant := 4;
+ pragma Assert (Slot_Byte_Size * 8 = Slot'Size);
+ Extra : constant := Slots_Low_Bound * Slot_Byte_Size;
+ -- Slots does not start at 0, so we need to subtract off the extra
+ -- amount. We are returning Slots.Table (0)'Address, except that
+ -- that component does not exist.
+ use System.Storage_Elements;
+ begin
+ return Slots.Table (Slots_Low_Bound)'Address - Extra;
+ end Slots_Address;
-----------------------------------
-- Approx_Num_Nodes_And_Entities --
@@ -1487,19 +1753,43 @@ package body Atree is
function Approx_Num_Nodes_And_Entities return Nat is
begin
- -- This is an overestimate, because entities take up more space, but
- -- that really doesn't matter; it's not worth subtracting out the
- -- "extra".
-
- return Nat (Nodes.Last - First_Node_Id);
+ return Nat (Node_Offsets.Last - First_Node_Id);
end Approx_Num_Nodes_And_Entities;
+ -----------
+ -- Off_0 --
+ -----------
+
+ function Off_0 (N : Node_Id) return Node_Offset is
+ pragma Debug (Validate_Node (N));
+
+ All_Node_Offsets : Node_Offsets.Table_Type renames
+ Node_Offsets.Table (Node_Offsets.First .. Node_Offsets.Last);
+ begin
+ return All_Node_Offsets (N);
+ end Off_0;
+
+ -----------
+ -- Off_L --
+ -----------
+
+ function Off_L (N : Node_Id) return Node_Offset is
+ pragma Debug (Validate_Node (N));
+
+ All_Node_Offsets : Node_Offsets.Table_Type renames
+ Node_Offsets.Table (Node_Offsets.First .. Node_Offsets.Last);
+ begin
+ return All_Node_Offsets (N) + Size_In_Slots (N) - 1;
+ end Off_L;
+
-------------------
-- Original_Node --
-------------------
function Original_Node (Node : Node_Id) return Node_Id is
begin
+ pragma Debug (Validate_Node (Node));
+
return Orig_Nodes.Table (Node);
end Original_Node;
@@ -1508,19 +1798,11 @@ package body Atree is
-----------------
function Paren_Count (N : Node_Id) return Nat is
- C : Nat := 0;
-
- begin
- pragma Assert (N <= Nodes.Last);
+ pragma Debug (Validate_Node (N));
- if Nodes.Table (N).Pflag1 then
- C := C + 1;
- end if;
-
- if Nodes.Table (N).Pflag2 then
- C := C + 2;
- end if;
+ C : constant Small_Paren_Count_Type := Small_Paren_Count (N);
+ begin
-- Value of 0,1,2 returned as is
if C <= 2 then
@@ -1539,16 +1821,14 @@ package body Atree is
end if;
end Paren_Count;
- ------------
- -- Parent --
- ------------
-
- function Parent (N : Node_Id) return Node_Id is
+ function Parent (N : Node_Or_Entity_Id) return Node_Or_Entity_Id is
begin
+ pragma Assert (Atree.Present (N));
+
if Is_List_Member (N) then
return Parent (List_Containing (N));
else
- return Node_Id (Nodes.Table (N).Link);
+ return Node_Or_Entity_Id (Link (N));
end if;
end Parent;
@@ -1571,112 +1851,26 @@ package body Atree is
end Preserve_Comes_From_Source;
----------------------
- -- Print_Statistics --
+ -- Print_Atree_Info --
----------------------
- procedure Print_Statistics is
- N_Count : constant Natural := Natural (Nodes.Last - First_Node_Id + 1);
- E_Count : Natural := 0;
-
+ procedure Print_Atree_Info (N : Node_Or_Entity_Id) is
+ function Cast is new Unchecked_Conversion (Slot, Int);
begin
- Write_Str ("Number of entities: ");
- Write_Eol;
-
- declare
- function CP_Lt (Op1, Op2 : Natural) return Boolean;
- -- Compare routine for Sort
-
- procedure CP_Move (From : Natural; To : Natural);
- -- Move routine for Sort
+ Write_Int (Int (Size_In_Slots (N)));
+ Write_Str (" slots (");
+ Write_Int (Int (Off_0 (N)));
+ Write_Str (" .. ");
+ Write_Int (Int (Off_L (N)));
+ Write_Str ("):");
- Kind_Count : array (Node_Kind) of Natural := (others => 0);
- -- Array of occurrence count per node kind
-
- Kind_Max : constant Natural := Node_Kind'Pos (N_Unused_At_End) - 1;
- -- The index of the largest (interesting) node kind
-
- Ranking : array (0 .. Kind_Max) of Node_Kind;
- -- Ranking array for node kinds (index 0 is used for the temporary)
-
- package Sorting is new GNAT.Heap_Sort_G (CP_Move, CP_Lt);
-
- function CP_Lt (Op1, Op2 : Natural) return Boolean is
- begin
- return Kind_Count (Ranking (Op2)) < Kind_Count (Ranking (Op1));
- end CP_Lt;
-
- procedure CP_Move (From : Natural; To : Natural) is
- begin
- Ranking (To) := Ranking (From);
- end CP_Move;
-
- begin
- -- Count the number of occurrences of each node kind
-
- for I in First_Node_Id .. Nodes.Last loop
- declare
- Nkind : constant Node_Kind := Nodes.Table (I).Nkind;
- begin
- if not Nodes.Table (I).Is_Extension then
- Kind_Count (Nkind) := Kind_Count (Nkind) + 1;
- end if;
- end;
- end loop;
-
- -- Sort the node kinds by number of occurrences
-
- for N in 1 .. Kind_Max loop
- Ranking (N) := Node_Kind'Val (N);
- end loop;
-
- Sorting.Sort (Kind_Max);
-
- -- Print the list in descending order
-
- for N in 1 .. Kind_Max loop
- declare
- Count : constant Natural := Kind_Count (Ranking (N));
- begin
- if Count > 0 then
- Write_Str (" ");
- Write_Str (Node_Kind'Image (Ranking (N)));
- Write_Str (": ");
- Write_Int (Int (Count));
- Write_Eol;
-
- E_Count := E_Count + Count;
- end if;
- end;
- end loop;
- end;
-
- Write_Str ("Total number of entities: ");
- Write_Int (Int (E_Count));
- Write_Eol;
-
- Write_Str ("Maximum number of nodes per entity: ");
- Write_Int (Int (Num_Extension_Nodes + 1));
- Write_Eol;
-
- Write_Str ("Number of allocated nodes: ");
- Write_Int (Int (N_Count));
- Write_Eol;
-
- Write_Str ("Ratio allocated nodes/entities: ");
- Write_Int (Int (Long_Long_Integer (N_Count) * 100 /
- Long_Long_Integer (E_Count)));
- Write_Str ("/100");
- Write_Eol;
-
- Write_Str ("Size of a node in bytes: ");
- Write_Int (Int (Node_Record'Size) / Storage_Unit);
- Write_Eol;
+ for Off in Off_0 (N) .. Off_L (N) loop
+ Write_Str (" ");
+ Write_Int (Cast (Slots.Table (Off)));
+ end loop;
- Write_Str ("Memory consumption in bytes: ");
- Write_Int (Int (Long_Long_Integer (N_Count) *
- (Node_Record'Size / Storage_Unit)));
Write_Eol;
- end Print_Statistics;
+ end Print_Atree_Info;
-------------------
-- Relocate_Node --
@@ -1706,7 +1900,7 @@ package body Atree is
-- then the relocated node has the same original node.
if Is_Rewrite_Substitution (Source) then
- Orig_Nodes.Table (New_Node) := Orig_Nodes.Table (Source);
+ Set_Original_Node (New_Node, Original_Node (Source));
end if;
return New_Node;
@@ -1717,35 +1911,47 @@ package body Atree is
-------------
procedure Replace (Old_Node, New_Node : Node_Id) is
- Old_Post : constant Boolean := Nodes.Table (Old_Node).Error_Posted;
- Old_HasA : constant Boolean := Nodes.Table (Old_Node).Has_Aspects;
- Old_CFS : constant Boolean := Nodes.Table (Old_Node).Comes_From_Source;
+ Old_Post : constant Boolean := Error_Posted (Old_Node);
+ Old_HasA : constant Boolean := Has_Aspects (Old_Node);
+ Old_CFS : constant Boolean := Comes_From_Source (Old_Node);
+
+ procedure Destroy_New_Node;
+ -- Overwrite New_Node data with junk, for debugging purposes
+
+ procedure Destroy_New_Node is
+ begin
+ Zero_Slots (New_Node);
+ Node_Offsets.Table (New_Node) := Field_Offset'Base'Last;
+ end Destroy_New_Node;
begin
- pragma Assert
- (not Has_Extension (Old_Node)
- and not Has_Extension (New_Node)
- and not Nodes.Table (New_Node).In_List);
+ New_Node_Debugging_Output (Old_Node);
+ New_Node_Debugging_Output (New_Node);
- pragma Debug (New_Node_Debugging_Output (Old_Node));
- pragma Debug (New_Node_Debugging_Output (New_Node));
+ pragma Assert
+ (not Is_Entity (Old_Node)
+ and not Is_Entity (New_Node)
+ and not In_List (New_Node)
+ and Old_Node /= New_Node);
-- Do copy, preserving link and in list status and required flags
Copy_Node (Source => New_Node, Destination => Old_Node);
- Nodes.Table (Old_Node).Comes_From_Source := Old_CFS;
- Nodes.Table (Old_Node).Error_Posted := Old_Post;
- Nodes.Table (Old_Node).Has_Aspects := Old_HasA;
+ Set_Comes_From_Source (Old_Node, Old_CFS);
+ Set_Error_Posted (Old_Node, Old_Post);
+ Set_Has_Aspects (Old_Node, Old_HasA);
-- Fix parents of substituted node, since it has changed identity
Fix_Parents (Ref_Node => New_Node, Fix_Node => Old_Node);
+ pragma Debug (Destroy_New_Node);
+
-- Since we are doing a replace, we assume that the original node
-- is intended to become the new replaced node. The call would be
-- to Rewrite if there were an intention to save the original node.
- Orig_Nodes.Table (Old_Node) := Old_Node;
+ Set_Original_Node (Old_Node, Old_Node);
-- Invoke the reporting procedure (if available)
@@ -1770,24 +1976,22 @@ package body Atree is
-------------
procedure Rewrite (Old_Node, New_Node : Node_Id) is
-
- -- Flags table attributes
-
- Old_CA : constant Boolean := Flags.Table (Old_Node).Check_Actuals;
- Old_Is_IGN : constant Boolean :=
- Flags.Table (Old_Node).Is_Ignored_Ghost_Node;
-
- -- Nodes table attributes
-
+ Old_CA : constant Boolean := Check_Actuals (Old_Node);
+ Old_Is_IGN : constant Boolean := Is_Ignored_Ghost_Node (Old_Node);
Old_Error_Posted : constant Boolean :=
- Nodes.Table (Old_Node).Error_Posted;
+ Error_Posted (Old_Node);
Old_Has_Aspects : constant Boolean :=
- Nodes.Table (Old_Node).Has_Aspects;
+ Has_Aspects (Old_Node);
- Old_Must_Not_Freeze : Boolean;
- Old_Paren_Count : Nat;
+ Old_Must_Not_Freeze : constant Boolean :=
+ (if Nkind (Old_Node) in N_Subexpr then Must_Not_Freeze (Old_Node)
+ else False);
+ Old_Paren_Count : constant Nat :=
+ (if Nkind (Old_Node) in N_Subexpr then Paren_Count (Old_Node) else 0);
-- These fields are preserved in the new node only if the new node and
- -- the old node are both subexpression nodes.
+ -- the old node are both subexpression nodes. We might be changing Nkind
+ -- (Old_Node) from not N_Subexpr to N_Subexpr, so we need a value
+ -- (False/0) even if Old_Noed is not a N_Subexpr.
-- Note: it is a violation of abstraction levels for Must_Not_Freeze
-- to be referenced like this. ???
@@ -1795,21 +1999,13 @@ package body Atree is
Sav_Node : Node_Id;
begin
- pragma Assert
- (not Has_Extension (Old_Node)
- and not Has_Extension (New_Node)
- and not Nodes.Table (New_Node).In_List);
-
- pragma Debug (New_Node_Debugging_Output (Old_Node));
- pragma Debug (New_Node_Debugging_Output (New_Node));
+ New_Node_Debugging_Output (Old_Node);
+ New_Node_Debugging_Output (New_Node);
- if Nkind (Old_Node) in N_Subexpr then
- Old_Must_Not_Freeze := Must_Not_Freeze (Old_Node);
- Old_Paren_Count := Paren_Count (Old_Node);
- else
- Old_Must_Not_Freeze := False;
- Old_Paren_Count := 0;
- end if;
+ pragma Assert
+ (not Is_Entity (Old_Node)
+ and not Is_Entity (New_Node)
+ and not In_List (New_Node));
-- Allocate a new node, to be used to preserve the original contents
-- of the Old_Node, for possible later retrival by Original_Node and
@@ -1817,10 +2013,10 @@ package body Atree is
-- not already rewritten the node, as indicated by an Orig_Nodes entry
-- that does not reference the Old_Node.
- if Orig_Nodes.Table (Old_Node) = Old_Node then
+ if Original_Node (Old_Node) = Old_Node then
Sav_Node := New_Copy (Old_Node);
- Orig_Nodes.Table (Sav_Node) := Sav_Node;
- Orig_Nodes.Table (Old_Node) := Sav_Node;
+ Set_Original_Node (Sav_Node, Sav_Node);
+ Set_Original_Node (Old_Node, Sav_Node);
-- Both the old and new copies of the node will share the same list
-- of aspect specifications if aspect specifications are present.
@@ -1834,11 +2030,11 @@ package body Atree is
-- Copy substitute node into place, preserving old fields as required
Copy_Node (Source => New_Node, Destination => Old_Node);
- Nodes.Table (Old_Node).Error_Posted := Old_Error_Posted;
- Nodes.Table (Old_Node).Has_Aspects := Old_Has_Aspects;
+ Set_Error_Posted (Old_Node, Old_Error_Posted);
+ Set_Has_Aspects (Old_Node, Old_Has_Aspects);
- Flags.Table (Old_Node).Check_Actuals := Old_CA;
- Flags.Table (Old_Node).Is_Ignored_Ghost_Node := Old_Is_IGN;
+ Set_Check_Actuals (Old_Node, Old_CA);
+ Set_Is_Ignored_Ghost_Node (Old_Node, Old_Is_IGN);
if Nkind (New_Node) in N_Subexpr then
Set_Paren_Count (Old_Node, Old_Paren_Count);
@@ -1860,37 +2056,6 @@ package body Atree is
end if;
end Rewrite;
- ------------------
- -- Set_Analyzed --
- ------------------
-
- procedure Set_Analyzed (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Analyzed := Val;
- end Set_Analyzed;
-
- -----------------------
- -- Set_Check_Actuals --
- -----------------------
-
- procedure Set_Check_Actuals (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (not Locked);
- Flags.Table (N).Check_Actuals := Val;
- end Set_Check_Actuals;
-
- ---------------------------
- -- Set_Comes_From_Source --
- ---------------------------
-
- procedure Set_Comes_From_Source (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Comes_From_Source := Val;
- end Set_Comes_From_Source;
-
-----------------------------------
-- Set_Comes_From_Source_Default --
-----------------------------------
@@ -1900,38 +2065,6 @@ package body Atree is
Comes_From_Source_Default := Default;
end Set_Comes_From_Source_Default;
- ---------------
- -- Set_Ekind --
- ---------------
-
- procedure Set_Ekind (E : Entity_Id; Val : Entity_Kind) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (E) in N_Entity);
- Nodes.Table (E + 1).Nkind := E_To_N (Val);
- end Set_Ekind;
-
- ----------------------
- -- Set_Error_Posted --
- ----------------------
-
- procedure Set_Error_Posted (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Error_Posted := Val;
- end Set_Error_Posted;
-
- ---------------------
- -- Set_Has_Aspects --
- ---------------------
-
- procedure Set_Has_Aspects (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Has_Aspects := Val;
- end Set_Has_Aspects;
-
--------------------------------------
-- Set_Ignored_Ghost_Recording_Proc --
--------------------------------------
@@ -1944,23 +2077,14 @@ package body Atree is
Ignored_Ghost_Recording_Proc := Proc;
end Set_Ignored_Ghost_Recording_Proc;
- -------------------------------
- -- Set_Is_Ignored_Ghost_Node --
- -------------------------------
-
- procedure Set_Is_Ignored_Ghost_Node (N : Node_Id; Val : Boolean := True) is
- begin
- pragma Assert (not Locked);
- Flags.Table (N).Is_Ignored_Ghost_Node := Val;
- end Set_Is_Ignored_Ghost_Node;
-
-----------------------
-- Set_Original_Node --
-----------------------
procedure Set_Original_Node (N : Node_Id; Val : Node_Id) is
begin
- pragma Assert (not Locked);
+ pragma Debug (Validate_Node_Write (N));
+
Orig_Nodes.Table (N) := Val;
end Set_Original_Node;
@@ -1970,20 +2094,18 @@ package body Atree is
procedure Set_Paren_Count (N : Node_Id; Val : Nat) is
begin
- pragma Assert (not Locked);
+ pragma Debug (Validate_Node_Write (N));
pragma Assert (Nkind (N) in N_Subexpr);
-- Value of 0,1,2 stored as is
if Val <= 2 then
- Nodes.Table (N).Pflag1 := (Val mod 2 /= 0);
- Nodes.Table (N).Pflag2 := (Val = 2);
+ Set_Small_Paren_Count (N, Val);
-- Value of 3 or greater stores 3 in node and makes table entry
else
- Nodes.Table (N).Pflag1 := True;
- Nodes.Table (N).Pflag2 := True;
+ Set_Small_Paren_Count (N, 3);
-- Search for existing table entry
@@ -2006,11 +2128,11 @@ package body Atree is
procedure Set_Paren_Count_Of_Copy (Target, Source : Node_Id) is
begin
- -- We already copied the two Pflags. We need to update the Paren_Counts
- -- table only if greater than 2.
+ -- We already copied the Small_Paren_Count. We need to update the
+ -- Paren_Counts table only if greater than 2.
if Nkind (Source) in N_Subexpr
- and then Paren_Count (Source) > 2
+ and then Small_Paren_Count (Source) = 3
then
Set_Paren_Count (Target, Paren_Count (Source));
end if;
@@ -2022,11 +2144,11 @@ package body Atree is
-- Set_Parent --
----------------
- procedure Set_Parent (N : Node_Id; Val : Node_Id) is
+ procedure Set_Parent (N : Node_Or_Entity_Id; Val : Node_Or_Entity_Id) is
begin
- pragma Assert (not Locked);
- pragma Assert (not Nodes.Table (N).In_List);
- Nodes.Table (N).Link := Union_Id (Val);
+ pragma Assert (Atree.Present (N));
+ pragma Assert (not In_List (N));
+ Set_Link (N, Union_Id (Val));
end Set_Parent;
------------------------
@@ -2039,16 +2161,6 @@ package body Atree is
Reporting_Proc := Proc;
end Set_Reporting_Proc;
- --------------
- -- Set_Sloc --
- --------------
-
- procedure Set_Sloc (N : Node_Id; Val : Source_Ptr) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Sloc := Val;
- end Set_Sloc;
-
------------------------
-- Set_Rewriting_Proc --
------------------------
@@ -2059,91 +2171,75 @@ package body Atree is
Rewriting_Proc := Proc;
end Set_Rewriting_Proc;
- ----------
- -- Sloc --
- ----------
+ function Size_In_Slots_To_Alloc (Kind : Node_Kind) return Slot_Count is
+ begin
+ return
+ (if Kind in N_Entity then Einfo.Entities.Max_Entity_Size
+ else Sinfo.Nodes.Size (Kind));
+ -- Unfortunately, we don't know the Entity_Kind, so we have to use the
+ -- max.
+ end Size_In_Slots_To_Alloc;
- function Sloc (N : Node_Id) return Source_Ptr is
+ function Size_In_Slots_To_Alloc
+ (N : Node_Or_Entity_Id) return Slot_Count is
begin
- return Nodes.Table (N).Sloc;
- end Sloc;
+ return Size_In_Slots_To_Alloc (Nkind (N));
+ end Size_In_Slots_To_Alloc;
+
+ function Size_In_Slots (N : Node_Or_Entity_Id) return Slot_Count is
+ begin
+ pragma Assert (Nkind (N) /= N_Unused_At_Start);
+ return
+ (if Nkind (N) in N_Entity then Einfo.Entities.Max_Entity_Size
+ else Sinfo.Nodes.Size (Nkind (N)));
+ end Size_In_Slots;
-------------------
-- Traverse_Func --
-------------------
function Traverse_Func (Node : Node_Id) return Traverse_Final_Result is
+ pragma Debug (Validate_Node (Node));
- function Traverse_Field
- (Nod : Node_Id;
- Fld : Union_Id;
- FN : Field_Num) return Traverse_Final_Result;
- -- Fld is one of the fields of Nod. If the field points to syntactic
- -- node or list, then this node or list is traversed, and the result is
- -- the result of this traversal. Otherwise a value of True is returned
- -- with no processing. FN is the number of the field (1 .. 5).
+ function Traverse_Field (Fld : Union_Id) return Traverse_Final_Result;
+ -- Fld is one of the Traversed fields of Nod, which is necessarily a
+ -- Node_Id or List_Id. It is traversed, and the result is the result of
+ -- this traversal.
--------------------
-- Traverse_Field --
--------------------
- function Traverse_Field
- (Nod : Node_Id;
- Fld : Union_Id;
- FN : Field_Num) return Traverse_Final_Result
- is
+ function Traverse_Field (Fld : Union_Id) return Traverse_Final_Result is
begin
- if Fld = Union_Id (Empty) then
- return OK;
-
- -- Descendant is a node
+ if Fld /= Union_Id (Empty) then
- elsif Fld in Node_Range then
+ -- Descendant is a node
- -- Traverse descendant that is syntactic subtree node
-
- if Is_Syntactic_Field (Nkind (Nod), FN) then
+ if Fld in Node_Range then
return Traverse_Func (Node_Id (Fld));
- -- Node that is not a syntactic subtree
-
- else
- return OK;
- end if;
-
- -- Descendant is a list
+ -- Descendant is a list
- elsif Fld in List_Range then
-
- -- Traverse descendant that is a syntactic subtree list
-
- if Is_Syntactic_Field (Nkind (Nod), FN) then
+ elsif Fld in List_Range then
declare
Elmt : Node_Id := First (List_Id (Fld));
-
begin
while Present (Elmt) loop
if Traverse_Func (Elmt) = Abandon then
return Abandon;
- else
- Next (Elmt);
end if;
- end loop;
- return OK;
+ Next (Elmt);
+ end loop;
end;
- -- List that is not a syntactic subtree
-
else
- return OK;
+ raise Program_Error;
end if;
-
- -- Field was not a node or a list
-
- else
- return OK;
end if;
+
+ return OK;
end Traverse_Field;
Cur_Node : Node_Id := Node;
@@ -2151,12 +2247,19 @@ package body Atree is
-- Start of processing for Traverse_Func
begin
- -- We walk Field2 last, and if it is a node, we eliminate the tail
- -- recursion by jumping back to this label. This is because Field2 is
- -- where the Left_Opnd field of N_Op_Concat is stored, and in practice
- -- concatenations are sometimes deeply nested, as in X1&X2&...&XN. This
- -- trick prevents us from running out of memory in that case. We don't
- -- bother eliminating the tail recursion if Field2 is a list.
+ -- If the last field is a node, we eliminate the tail recursion by
+ -- jumping back to this label. This is because concatenations are
+ -- sometimes deeply nested, as in X1&X2&...&Xn. Gen_IL ensures that the
+ -- Left_Opnd field of N_Op_Concat comes last in Traversed_Fields, so the
+ -- tail recursion is eliminated in that case. This trick prevents us
+ -- from running out of stack memory in that case. We don't bother
+ -- eliminating the tail recursion if the last field is a list.
+ --
+ -- (To check, look in the body of Sinfo.Nodes, search for the Left_Opnd
+ -- getter, and note the offset of Left_Opnd. Then look in the spec of
+ -- Sinfo.Nodes, look at the Traversed_Fields table, search for the
+ -- N_Op_Concat component. The offset of Left_Opnd should be the last
+ -- component before the No_Field_Offset sentinels.)
<<Tail_Recurse>>
@@ -2174,30 +2277,51 @@ package body Atree is
Cur_Node := Original_Node (Cur_Node);
end case;
- if Traverse_Field (Cur_Node, Field1 (Cur_Node), 1) = Abandon
- or else -- skip Field2 here
- Traverse_Field (Cur_Node, Field3 (Cur_Node), 3) = Abandon
- or else
- Traverse_Field (Cur_Node, Field4 (Cur_Node), 4) = Abandon
- or else
- Traverse_Field (Cur_Node, Field5 (Cur_Node), 5) = Abandon
- then
- return Abandon;
- end if;
+ -- Check for empty Traversed_Fields before entering loop below, so the
+ -- tail recursive step won't go past the end.
+
+ declare
+ Cur_Field : Offset_Array_Index := Traversed_Offset_Array'First;
+ Offsets : Traversed_Offset_Array renames
+ Traversed_Fields (Nkind (Cur_Node));
- if Field2 (Cur_Node) not in Node_Range then
- return Traverse_Field (Cur_Node, Field2 (Cur_Node), 2);
+ begin
+ if Offsets (Traversed_Offset_Array'First) /= No_Field_Offset then
+ while Offsets (Cur_Field + 1) /= No_Field_Offset loop
+ declare
+ F : constant Union_Id :=
+ Get_Node_Field_Union (Cur_Node, Offsets (Cur_Field));
- elsif Is_Syntactic_Field (Nkind (Cur_Node), 2)
- and then Field2 (Cur_Node) /= Empty_List_Or_Node
- then
- -- Here is the tail recursion step, we reset Cur_Node and jump back
- -- to the start of the procedure, which has the same semantic effect
- -- as a call.
+ begin
+ if Traverse_Field (F) = Abandon then
+ return Abandon;
+ end if;
+ end;
- Cur_Node := Node_Id (Field2 (Cur_Node));
- goto Tail_Recurse;
- end if;
+ Cur_Field := Cur_Field + 1;
+ end loop;
+
+ declare
+ F : constant Union_Id :=
+ Get_Node_Field_Union (Cur_Node, Offsets (Cur_Field));
+
+ begin
+ if F not in Node_Range then
+ if Traverse_Field (F) = Abandon then
+ return Abandon;
+ end if;
+
+ elsif F /= Empty_List_Or_Node then
+ -- Here is the tail recursion step, we reset Cur_Node and
+ -- jump back to the start of the procedure, which has the
+ -- same semantic effect as a call.
+
+ Cur_Node := Node_Id (F);
+ goto Tail_Recurse;
+ end if;
+ end;
+ end if;
+ end;
return OK;
end Traverse_Func;
@@ -2214,6573 +2338,12 @@ package body Atree is
Discard := Traverse (Node);
end Traverse_Proc;
- ------------------------------
- -- Unchecked Access Package --
- ------------------------------
-
- package body Unchecked_Access is
-
- function Field1 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Field1;
- end Field1;
-
- function Field2 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Field2;
- end Field2;
-
- function Field3 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Field3;
- end Field3;
-
- function Field4 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Field4;
- end Field4;
-
- function Field5 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Field5;
- end Field5;
-
- function Field6 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field6;
- end Field6;
-
- function Field7 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field7;
- end Field7;
-
- function Field8 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field8;
- end Field8;
-
- function Field9 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field9;
- end Field9;
-
- function Field10 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field10;
- end Field10;
-
- function Field11 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field11;
- end Field11;
-
- function Field12 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Field12;
- end Field12;
-
- function Field13 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field6;
- end Field13;
-
- function Field14 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field7;
- end Field14;
-
- function Field15 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field8;
- end Field15;
-
- function Field16 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field9;
- end Field16;
-
- function Field17 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field10;
- end Field17;
-
- function Field18 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Field11;
- end Field18;
-
- function Field19 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Field6;
- end Field19;
-
- function Field20 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Field7;
- end Field20;
-
- function Field21 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Field8;
- end Field21;
-
- function Field22 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Field9;
- end Field22;
-
- function Field23 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Field10;
- end Field23;
-
- function Field24 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field6;
- end Field24;
-
- function Field25 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field7;
- end Field25;
-
- function Field26 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field8;
- end Field26;
-
- function Field27 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field9;
- end Field27;
-
- function Field28 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field10;
- end Field28;
-
- function Field29 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Field11;
- end Field29;
-
- function Field30 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field6;
- end Field30;
-
- function Field31 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field7;
- end Field31;
-
- function Field32 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field8;
- end Field32;
-
- function Field33 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field9;
- end Field33;
-
- function Field34 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field10;
- end Field34;
-
- function Field35 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Field11;
- end Field35;
-
- function Field36 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field6;
- end Field36;
-
- function Field37 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field7;
- end Field37;
-
- function Field38 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field8;
- end Field38;
-
- function Field39 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field9;
- end Field39;
-
- function Field40 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field10;
- end Field40;
-
- function Field41 (N : Node_Id) return Union_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 6).Field11;
- end Field41;
-
- function Node1 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Node_Id (Nodes.Table (N).Field1);
- end Node1;
-
- function Node2 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Node_Id (Nodes.Table (N).Field2);
- end Node2;
-
- function Node3 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Node_Id (Nodes.Table (N).Field3);
- end Node3;
-
- function Node4 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Node_Id (Nodes.Table (N).Field4);
- end Node4;
-
- function Node5 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Node_Id (Nodes.Table (N).Field5);
- end Node5;
-
- function Node6 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field6);
- end Node6;
-
- function Node7 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field7);
- end Node7;
-
- function Node8 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field8);
- end Node8;
-
- function Node9 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field9);
- end Node9;
-
- function Node10 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field10);
- end Node10;
-
- function Node11 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field11);
- end Node11;
-
- function Node12 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 1).Field12);
- end Node12;
-
- function Node13 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field6);
- end Node13;
-
- function Node14 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field7);
- end Node14;
-
- function Node15 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field8);
- end Node15;
-
- function Node16 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field9);
- end Node16;
-
- function Node17 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field10);
- end Node17;
-
- function Node18 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 2).Field11);
- end Node18;
-
- function Node19 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 3).Field6);
- end Node19;
-
- function Node20 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 3).Field7);
- end Node20;
-
- function Node21 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 3).Field8);
- end Node21;
-
- function Node22 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 3).Field9);
- end Node22;
-
- function Node23 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 3).Field10);
- end Node23;
-
- function Node24 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field6);
- end Node24;
-
- function Node25 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field7);
- end Node25;
-
- function Node26 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field8);
- end Node26;
-
- function Node27 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field9);
- end Node27;
-
- function Node28 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field10);
- end Node28;
-
- function Node29 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 4).Field11);
- end Node29;
-
- function Node30 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field6);
- end Node30;
-
- function Node31 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field7);
- end Node31;
-
- function Node32 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field8);
- end Node32;
-
- function Node33 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field9);
- end Node33;
-
- function Node34 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field10);
- end Node34;
-
- function Node35 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 5).Field11);
- end Node35;
-
- function Node36 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field6);
- end Node36;
-
- function Node37 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field7);
- end Node37;
-
- function Node38 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field8);
- end Node38;
-
- function Node39 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field9);
- end Node39;
-
- function Node40 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field10);
- end Node40;
-
- function Node41 (N : Node_Id) return Node_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Node_Id (Nodes.Table (N + 6).Field11);
- end Node41;
-
- function List1 (N : Node_Id) return List_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return List_Id (Nodes.Table (N).Field1);
- end List1;
-
- function List2 (N : Node_Id) return List_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return List_Id (Nodes.Table (N).Field2);
- end List2;
-
- function List3 (N : Node_Id) return List_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return List_Id (Nodes.Table (N).Field3);
- end List3;
-
- function List4 (N : Node_Id) return List_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return List_Id (Nodes.Table (N).Field4);
- end List4;
-
- function List5 (N : Node_Id) return List_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return List_Id (Nodes.Table (N).Field5);
- end List5;
-
- function List10 (N : Node_Id) return List_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return List_Id (Nodes.Table (N + 1).Field10);
- end List10;
-
- function List14 (N : Node_Id) return List_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return List_Id (Nodes.Table (N + 2).Field7);
- end List14;
-
- function List25 (N : Node_Id) return List_Id is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return List_Id (Nodes.Table (N + 4).Field7);
- end List25;
-
- function List38 (N : Node_Id) return List_Id is
- begin
- return List_Id (Nodes.Table (N + 6).Field8);
- end List38;
-
- function List39 (N : Node_Id) return List_Id is
- begin
- return List_Id (Nodes.Table (N + 6).Field9);
- end List39;
-
- function Elist1 (N : Node_Id) return Elist_Id is
- pragma Assert (N <= Nodes.Last);
- Value : constant Union_Id := Nodes.Table (N).Field1;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist1;
-
- function Elist2 (N : Node_Id) return Elist_Id is
- pragma Assert (N <= Nodes.Last);
- Value : constant Union_Id := Nodes.Table (N).Field2;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist2;
-
- function Elist3 (N : Node_Id) return Elist_Id is
- pragma Assert (N <= Nodes.Last);
- Value : constant Union_Id := Nodes.Table (N).Field3;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist3;
-
- function Elist4 (N : Node_Id) return Elist_Id is
- pragma Assert (N <= Nodes.Last);
- Value : constant Union_Id := Nodes.Table (N).Field4;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist4;
-
- function Elist5 (N : Node_Id) return Elist_Id is
- pragma Assert (N <= Nodes.Last);
- Value : constant Union_Id := Nodes.Table (N).Field5;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist5;
-
- function Elist8 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 1).Field8;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist8;
-
- function Elist9 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 1).Field9;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist9;
-
- function Elist10 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 1).Field10;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist10;
-
- function Elist11 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 1).Field11;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist11;
-
- function Elist13 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 2).Field6;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist13;
-
- function Elist15 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 2).Field8;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist15;
-
- function Elist16 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 2).Field9;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist16;
-
- function Elist18 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 2).Field11;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist18;
-
- function Elist21 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 3).Field8;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist21;
-
- function Elist23 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 3).Field10;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist23;
-
- function Elist24 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 4).Field6;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist24;
-
- function Elist25 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 4).Field7;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist25;
-
- function Elist26 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 4).Field8;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist26;
-
- function Elist29 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 4).Field11;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist29;
-
- function Elist30 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 5).Field6;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist30;
-
- function Elist36 (N : Node_Id) return Elist_Id is
- pragma Assert (Nkind (N) in N_Entity);
- Value : constant Union_Id := Nodes.Table (N + 6).Field6;
- begin
- if Value = 0 then
- return No_Elist;
- else
- return Elist_Id (Value);
- end if;
- end Elist36;
-
- function Name1 (N : Node_Id) return Name_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Name_Id (Nodes.Table (N).Field1);
- end Name1;
-
- function Name2 (N : Node_Id) return Name_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return Name_Id (Nodes.Table (N).Field2);
- end Name2;
-
- function Str3 (N : Node_Id) return String_Id is
- begin
- pragma Assert (N <= Nodes.Last);
- return String_Id (Nodes.Table (N).Field3);
- end Str3;
-
- function Uint2 (N : Node_Id) return Uint is
- pragma Assert (N <= Nodes.Last);
- U : constant Union_Id := Nodes.Table (N).Field2;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint2;
-
- function Uint3 (N : Node_Id) return Uint is
- pragma Assert (N <= Nodes.Last);
- U : constant Union_Id := Nodes.Table (N).Field3;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint3;
-
- function Uint4 (N : Node_Id) return Uint is
- pragma Assert (N <= Nodes.Last);
- U : constant Union_Id := Nodes.Table (N).Field4;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint4;
-
- function Uint5 (N : Node_Id) return Uint is
- pragma Assert (N <= Nodes.Last);
- U : constant Union_Id := Nodes.Table (N).Field5;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint5;
-
- function Uint8 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 1).Field8;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint8;
-
- function Uint9 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 1).Field9;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint9;
-
- function Uint10 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 1).Field10;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint10;
-
- function Uint11 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 1).Field11;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint11;
-
- function Uint12 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 1).Field12;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint12;
-
- function Uint13 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 2).Field6;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint13;
-
- function Uint14 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 2).Field7;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint14;
-
- function Uint15 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 2).Field8;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint15;
-
- function Uint16 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 2).Field9;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint16;
-
- function Uint17 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 2).Field10;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint17;
-
- function Uint22 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 3).Field9;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint22;
-
- function Uint24 (N : Node_Id) return Uint is
- pragma Assert (Nkind (N) in N_Entity);
- U : constant Union_Id := Nodes.Table (N + 4).Field6;
- begin
- if U = 0 then
- return Uint_0;
- else
- return From_Union (U);
- end if;
- end Uint24;
-
- function Ureal3 (N : Node_Id) return Ureal is
- begin
- pragma Assert (N <= Nodes.Last);
- return From_Union (Nodes.Table (N).Field3);
- end Ureal3;
-
- function Ureal18 (N : Node_Id) return Ureal is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return From_Union (Nodes.Table (N + 2).Field11);
- end Ureal18;
-
- function Ureal21 (N : Node_Id) return Ureal is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return From_Union (Nodes.Table (N + 3).Field8);
- end Ureal21;
-
- function Flag0 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Flags.Table (N).Flag0;
- end Flag0;
-
- function Flag1 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Flags.Table (N).Flag1;
- end Flag1;
-
- function Flag2 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Flags.Table (N).Flag2;
- end Flag2;
-
- function Flag3 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Flags.Table (N).Flag3;
- end Flag3;
-
- function Flag4 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag4;
- end Flag4;
-
- function Flag5 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag5;
- end Flag5;
-
- function Flag6 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag6;
- end Flag6;
-
- function Flag7 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag7;
- end Flag7;
-
- function Flag8 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag8;
- end Flag8;
-
- function Flag9 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag9;
- end Flag9;
-
- function Flag10 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag10;
- end Flag10;
-
- function Flag11 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag11;
- end Flag11;
-
- function Flag12 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag12;
- end Flag12;
-
- function Flag13 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag13;
- end Flag13;
-
- function Flag14 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag14;
- end Flag14;
-
- function Flag15 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag15;
- end Flag15;
-
- function Flag16 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag16;
- end Flag16;
-
- function Flag17 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag17;
- end Flag17;
-
- function Flag18 (N : Node_Id) return Boolean is
- begin
- pragma Assert (N <= Nodes.Last);
- return Nodes.Table (N).Flag18;
- end Flag18;
-
- function Flag19 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).In_List;
- end Flag19;
-
- function Flag20 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Has_Aspects;
- end Flag20;
-
- function Flag21 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Rewrite_Ins;
- end Flag21;
-
- function Flag22 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Analyzed;
- end Flag22;
-
- function Flag23 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Comes_From_Source;
- end Flag23;
-
- function Flag24 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Error_Posted;
- end Flag24;
-
- function Flag25 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag4;
- end Flag25;
-
- function Flag26 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag5;
- end Flag26;
-
- function Flag27 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag6;
- end Flag27;
-
- function Flag28 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag7;
- end Flag28;
-
- function Flag29 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag8;
- end Flag29;
-
- function Flag30 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag9;
- end Flag30;
-
- function Flag31 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag10;
- end Flag31;
-
- function Flag32 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag11;
- end Flag32;
-
- function Flag33 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag12;
- end Flag33;
-
- function Flag34 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag13;
- end Flag34;
-
- function Flag35 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag14;
- end Flag35;
-
- function Flag36 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag15;
- end Flag36;
-
- function Flag37 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag16;
- end Flag37;
-
- function Flag38 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag17;
- end Flag38;
-
- function Flag39 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Flag18;
- end Flag39;
-
- function Flag40 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).In_List;
- end Flag40;
-
- function Flag41 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Has_Aspects;
- end Flag41;
-
- function Flag42 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Rewrite_Ins;
- end Flag42;
-
- function Flag43 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Analyzed;
- end Flag43;
-
- function Flag44 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Comes_From_Source;
- end Flag44;
-
- function Flag45 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Error_Posted;
- end Flag45;
-
- function Flag46 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag4;
- end Flag46;
-
- function Flag47 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag5;
- end Flag47;
-
- function Flag48 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag6;
- end Flag48;
-
- function Flag49 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag7;
- end Flag49;
-
- function Flag50 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag8;
- end Flag50;
-
- function Flag51 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag9;
- end Flag51;
-
- function Flag52 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag10;
- end Flag52;
-
- function Flag53 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag11;
- end Flag53;
-
- function Flag54 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag12;
- end Flag54;
-
- function Flag55 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag13;
- end Flag55;
-
- function Flag56 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag14;
- end Flag56;
-
- function Flag57 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag15;
- end Flag57;
-
- function Flag58 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag16;
- end Flag58;
-
- function Flag59 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag17;
- end Flag59;
-
- function Flag60 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Flag18;
- end Flag60;
-
- function Flag61 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Pflag1;
- end Flag61;
-
- function Flag62 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 1).Pflag2;
- end Flag62;
-
- function Flag63 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Pflag1;
- end Flag63;
-
- function Flag64 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 2).Pflag2;
- end Flag64;
-
- function Flag65 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag65;
- end Flag65;
-
- function Flag66 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag66;
- end Flag66;
-
- function Flag67 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag67;
- end Flag67;
-
- function Flag68 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag68;
- end Flag68;
-
- function Flag69 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag69;
- end Flag69;
-
- function Flag70 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag70;
- end Flag70;
-
- function Flag71 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag71;
- end Flag71;
-
- function Flag72 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte (Nodes.Table (N + 2).Nkind).Flag72;
- end Flag72;
-
- function Flag73 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag73;
- end Flag73;
-
- function Flag74 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag74;
- end Flag74;
-
- function Flag75 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag75;
- end Flag75;
-
- function Flag76 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag76;
- end Flag76;
-
- function Flag77 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag77;
- end Flag77;
-
- function Flag78 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag78;
- end Flag78;
-
- function Flag79 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag79;
- end Flag79;
-
- function Flag80 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag80;
- end Flag80;
-
- function Flag81 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag81;
- end Flag81;
-
- function Flag82 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag82;
- end Flag82;
-
- function Flag83 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag83;
- end Flag83;
-
- function Flag84 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag84;
- end Flag84;
-
- function Flag85 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag85;
- end Flag85;
-
- function Flag86 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag86;
- end Flag86;
-
- function Flag87 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag87;
- end Flag87;
-
- function Flag88 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag88;
- end Flag88;
-
- function Flag89 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag89;
- end Flag89;
-
- function Flag90 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag90;
- end Flag90;
-
- function Flag91 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag91;
- end Flag91;
-
- function Flag92 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag92;
- end Flag92;
-
- function Flag93 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag93;
- end Flag93;
-
- function Flag94 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag94;
- end Flag94;
-
- function Flag95 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag95;
- end Flag95;
-
- function Flag96 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word (Nodes.Table (N + 2).Field12).Flag96;
- end Flag96;
-
- function Flag97 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag97;
- end Flag97;
-
- function Flag98 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag98;
- end Flag98;
-
- function Flag99 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag99;
- end Flag99;
-
- function Flag100 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag100;
- end Flag100;
-
- function Flag101 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag101;
- end Flag101;
-
- function Flag102 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag102;
- end Flag102;
-
- function Flag103 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag103;
- end Flag103;
-
- function Flag104 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag104;
- end Flag104;
-
- function Flag105 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag105;
- end Flag105;
-
- function Flag106 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag106;
- end Flag106;
-
- function Flag107 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag107;
- end Flag107;
-
- function Flag108 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag108;
- end Flag108;
-
- function Flag109 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag109;
- end Flag109;
-
- function Flag110 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag110;
- end Flag110;
-
- function Flag111 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag111;
- end Flag111;
-
- function Flag112 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag112;
- end Flag112;
-
- function Flag113 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag113;
- end Flag113;
-
- function Flag114 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag114;
- end Flag114;
-
- function Flag115 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag115;
- end Flag115;
-
- function Flag116 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag116;
- end Flag116;
-
- function Flag117 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag117;
- end Flag117;
-
- function Flag118 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag118;
- end Flag118;
-
- function Flag119 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag119;
- end Flag119;
-
- function Flag120 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag120;
- end Flag120;
-
- function Flag121 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag121;
- end Flag121;
-
- function Flag122 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag122;
- end Flag122;
-
- function Flag123 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag123;
- end Flag123;
-
- function Flag124 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag124;
- end Flag124;
-
- function Flag125 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag125;
- end Flag125;
-
- function Flag126 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag126;
- end Flag126;
-
- function Flag127 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag127;
- end Flag127;
-
- function Flag128 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word2 (Nodes.Table (N + 3).Field12).Flag128;
- end Flag128;
-
- function Flag129 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).In_List;
- end Flag129;
-
- function Flag130 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Has_Aspects;
- end Flag130;
-
- function Flag131 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Rewrite_Ins;
- end Flag131;
-
- function Flag132 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Analyzed;
- end Flag132;
-
- function Flag133 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Comes_From_Source;
- end Flag133;
-
- function Flag134 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Error_Posted;
- end Flag134;
-
- function Flag135 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag4;
- end Flag135;
-
- function Flag136 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag5;
- end Flag136;
-
- function Flag137 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag6;
- end Flag137;
-
- function Flag138 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag7;
- end Flag138;
-
- function Flag139 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag8;
- end Flag139;
-
- function Flag140 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag9;
- end Flag140;
-
- function Flag141 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag10;
- end Flag141;
-
- function Flag142 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag11;
- end Flag142;
-
- function Flag143 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag12;
- end Flag143;
-
- function Flag144 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag13;
- end Flag144;
-
- function Flag145 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag14;
- end Flag145;
-
- function Flag146 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag15;
- end Flag146;
-
- function Flag147 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag16;
- end Flag147;
-
- function Flag148 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag17;
- end Flag148;
-
- function Flag149 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Flag18;
- end Flag149;
-
- function Flag150 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Pflag1;
- end Flag150;
-
- function Flag151 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 3).Pflag2;
- end Flag151;
-
- function Flag152 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag152;
- end Flag152;
-
- function Flag153 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag153;
- end Flag153;
-
- function Flag154 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag154;
- end Flag154;
-
- function Flag155 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag155;
- end Flag155;
-
- function Flag156 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag156;
- end Flag156;
-
- function Flag157 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag157;
- end Flag157;
-
- function Flag158 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag158;
- end Flag158;
-
- function Flag159 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag159;
- end Flag159;
-
- function Flag160 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag160;
- end Flag160;
-
- function Flag161 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag161;
- end Flag161;
-
- function Flag162 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag162;
- end Flag162;
-
- function Flag163 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag163;
- end Flag163;
-
- function Flag164 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag164;
- end Flag164;
-
- function Flag165 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag165;
- end Flag165;
-
- function Flag166 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag166;
- end Flag166;
-
- function Flag167 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag167;
- end Flag167;
-
- function Flag168 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag168;
- end Flag168;
-
- function Flag169 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag169;
- end Flag169;
-
- function Flag170 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag170;
- end Flag170;
-
- function Flag171 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag171;
- end Flag171;
-
- function Flag172 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag172;
- end Flag172;
-
- function Flag173 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag173;
- end Flag173;
-
- function Flag174 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag174;
- end Flag174;
-
- function Flag175 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag175;
- end Flag175;
-
- function Flag176 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag176;
- end Flag176;
-
- function Flag177 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag177;
- end Flag177;
-
- function Flag178 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag178;
- end Flag178;
-
- function Flag179 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag179;
- end Flag179;
-
- function Flag180 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag180;
- end Flag180;
-
- function Flag181 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag181;
- end Flag181;
-
- function Flag182 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag182;
- end Flag182;
-
- function Flag183 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word3 (Nodes.Table (N + 3).Field11).Flag183;
- end Flag183;
-
- function Flag184 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag184;
- end Flag184;
-
- function Flag185 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag185;
- end Flag185;
-
- function Flag186 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag186;
- end Flag186;
-
- function Flag187 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag187;
- end Flag187;
-
- function Flag188 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag188;
- end Flag188;
-
- function Flag189 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag189;
- end Flag189;
-
- function Flag190 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag190;
- end Flag190;
-
- function Flag191 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag191;
- end Flag191;
-
- function Flag192 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag192;
- end Flag192;
-
- function Flag193 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag193;
- end Flag193;
-
- function Flag194 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag194;
- end Flag194;
-
- function Flag195 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag195;
- end Flag195;
-
- function Flag196 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag196;
- end Flag196;
-
- function Flag197 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag197;
- end Flag197;
-
- function Flag198 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag198;
- end Flag198;
-
- function Flag199 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag199;
- end Flag199;
-
- function Flag200 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag200;
- end Flag200;
-
- function Flag201 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag201;
- end Flag201;
-
- function Flag202 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag202;
- end Flag202;
-
- function Flag203 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag203;
- end Flag203;
-
- function Flag204 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag204;
- end Flag204;
-
- function Flag205 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag205;
- end Flag205;
-
- function Flag206 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag206;
- end Flag206;
-
- function Flag207 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag207;
- end Flag207;
-
- function Flag208 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag208;
- end Flag208;
-
- function Flag209 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag209;
- end Flag209;
-
- function Flag210 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag210;
- end Flag210;
-
- function Flag211 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag211;
- end Flag211;
-
- function Flag212 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag212;
- end Flag212;
-
- function Flag213 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag213;
- end Flag213;
-
- function Flag214 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag214;
- end Flag214;
-
- function Flag215 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word4 (Nodes.Table (N + 4).Field12).Flag215;
- end Flag215;
-
- function Flag216 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).In_List;
- end Flag216;
-
- function Flag217 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Has_Aspects;
- end Flag217;
-
- function Flag218 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Rewrite_Ins;
- end Flag218;
-
- function Flag219 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Analyzed;
- end Flag219;
-
- function Flag220 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Comes_From_Source;
- end Flag220;
-
- function Flag221 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Error_Posted;
- end Flag221;
-
- function Flag222 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag4;
- end Flag222;
-
- function Flag223 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag5;
- end Flag223;
-
- function Flag224 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag6;
- end Flag224;
-
- function Flag225 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag7;
- end Flag225;
-
- function Flag226 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag8;
- end Flag226;
-
- function Flag227 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag9;
- end Flag227;
-
- function Flag228 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag10;
- end Flag228;
-
- function Flag229 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag11;
- end Flag229;
-
- function Flag230 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag12;
- end Flag230;
-
- function Flag231 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag13;
- end Flag231;
-
- function Flag232 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag14;
- end Flag232;
-
- function Flag233 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag15;
- end Flag233;
-
- function Flag234 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag16;
- end Flag234;
-
- function Flag235 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag17;
- end Flag235;
-
- function Flag236 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Flag18;
- end Flag236;
-
- function Flag237 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Pflag1;
- end Flag237;
-
- function Flag238 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 4).Pflag2;
- end Flag238;
-
- function Flag239 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag239;
- end Flag239;
-
- function Flag240 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag240;
- end Flag240;
-
- function Flag241 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag241;
- end Flag241;
-
- function Flag242 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag242;
- end Flag242;
-
- function Flag243 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag243;
- end Flag243;
-
- function Flag244 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag244;
- end Flag244;
-
- function Flag245 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag245;
- end Flag245;
-
- function Flag246 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte2 (Nodes.Table (N + 3).Nkind).Flag246;
- end Flag246;
-
- function Flag247 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag247;
- end Flag247;
-
- function Flag248 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag248;
- end Flag248;
-
- function Flag249 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag249;
- end Flag249;
-
- function Flag250 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag250;
- end Flag250;
-
- function Flag251 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag251;
- end Flag251;
-
- function Flag252 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag252;
- end Flag252;
-
- function Flag253 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag253;
- end Flag253;
-
- function Flag254 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte3 (Nodes.Table (N + 4).Nkind).Flag254;
- end Flag254;
-
- function Flag255 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag255;
- end Flag255;
-
- function Flag256 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag256;
- end Flag256;
-
- function Flag257 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag257;
- end Flag257;
-
- function Flag258 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag258;
- end Flag258;
-
- function Flag259 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag259;
- end Flag259;
-
- function Flag260 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag260;
- end Flag260;
-
- function Flag261 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag261;
- end Flag261;
-
- function Flag262 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag262;
- end Flag262;
-
- function Flag263 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag263;
- end Flag263;
-
- function Flag264 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag264;
- end Flag264;
-
- function Flag265 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag265;
- end Flag265;
-
- function Flag266 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag266;
- end Flag266;
-
- function Flag267 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag267;
- end Flag267;
-
- function Flag268 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag268;
- end Flag268;
-
- function Flag269 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag269;
- end Flag269;
-
- function Flag270 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag270;
- end Flag270;
-
- function Flag271 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag271;
- end Flag271;
-
- function Flag272 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag272;
- end Flag272;
-
- function Flag273 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag273;
- end Flag273;
-
- function Flag274 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag274;
- end Flag274;
-
- function Flag275 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag275;
- end Flag275;
-
- function Flag276 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag276;
- end Flag276;
-
- function Flag277 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag277;
- end Flag277;
-
- function Flag278 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag278;
- end Flag278;
-
- function Flag279 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag279;
- end Flag279;
-
- function Flag280 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag280;
- end Flag280;
-
- function Flag281 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag281;
- end Flag281;
-
- function Flag282 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag282;
- end Flag282;
-
- function Flag283 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag283;
- end Flag283;
-
- function Flag284 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag284;
- end Flag284;
-
- function Flag285 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag285;
- end Flag285;
-
- function Flag286 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Word5 (Nodes.Table (N + 5).Field12).Flag286;
- end Flag286;
-
- function Flag287 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).In_List;
- end Flag287;
-
- function Flag288 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Has_Aspects;
- end Flag288;
-
- function Flag289 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Rewrite_Ins;
- end Flag289;
-
- function Flag290 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Analyzed;
- end Flag290;
-
- function Flag291 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Comes_From_Source;
- end Flag291;
-
- function Flag292 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Error_Posted;
- end Flag292;
-
- function Flag293 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag4;
- end Flag293;
-
- function Flag294 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag5;
- end Flag294;
-
- function Flag295 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag6;
- end Flag295;
-
- function Flag296 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag7;
- end Flag296;
-
- function Flag297 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag8;
- end Flag297;
-
- function Flag298 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag9;
- end Flag298;
-
- function Flag299 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag10;
- end Flag299;
-
- function Flag300 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag11;
- end Flag300;
-
- function Flag301 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag12;
- end Flag301;
-
- function Flag302 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag13;
- end Flag302;
-
- function Flag303 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag14;
- end Flag303;
-
- function Flag304 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag15;
- end Flag304;
-
- function Flag305 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag16;
- end Flag305;
-
- function Flag306 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag17;
- end Flag306;
-
- function Flag307 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Flag18;
- end Flag307;
-
- function Flag308 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Pflag1;
- end Flag308;
-
- function Flag309 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return Nodes.Table (N + 5).Pflag2;
- end Flag309;
-
- function Flag310 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag310;
- end Flag310;
-
- function Flag311 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag311;
- end Flag311;
-
- function Flag312 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag312;
- end Flag312;
-
- function Flag313 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag313;
- end Flag313;
-
- function Flag314 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag314;
- end Flag314;
-
- function Flag315 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag315;
- end Flag315;
-
- function Flag316 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag316;
- end Flag316;
-
- function Flag317 (N : Node_Id) return Boolean is
- begin
- pragma Assert (Nkind (N) in N_Entity);
- return To_Flag_Byte4 (Nodes.Table (N + 5).Nkind).Flag317;
- end Flag317;
-
- procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Nkind := Val;
- end Set_Nkind;
-
- procedure Set_Field1 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field1 := Val;
- end Set_Field1;
-
- procedure Set_Field2 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field2 := Val;
- end Set_Field2;
-
- procedure Set_Field3 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := Val;
- end Set_Field3;
-
- procedure Set_Field4 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field4 := Val;
- end Set_Field4;
-
- procedure Set_Field5 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field5 := Val;
- end Set_Field5;
-
- procedure Set_Field6 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field6 := Val;
- end Set_Field6;
-
- procedure Set_Field7 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field7 := Val;
- end Set_Field7;
-
- procedure Set_Field8 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field8 := Val;
- end Set_Field8;
-
- procedure Set_Field9 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field9 := Val;
- end Set_Field9;
-
- procedure Set_Field10 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field10 := Val;
- end Set_Field10;
-
- procedure Set_Field11 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field11 := Val;
- end Set_Field11;
-
- procedure Set_Field12 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field12 := Val;
- end Set_Field12;
-
- procedure Set_Field13 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field6 := Val;
- end Set_Field13;
-
- procedure Set_Field14 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field7 := Val;
- end Set_Field14;
-
- procedure Set_Field15 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field8 := Val;
- end Set_Field15;
-
- procedure Set_Field16 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field9 := Val;
- end Set_Field16;
-
- procedure Set_Field17 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field10 := Val;
- end Set_Field17;
-
- procedure Set_Field18 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field11 := Val;
- end Set_Field18;
-
- procedure Set_Field19 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field6 := Val;
- end Set_Field19;
-
- procedure Set_Field20 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field7 := Val;
- end Set_Field20;
-
- procedure Set_Field21 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field8 := Val;
- end Set_Field21;
-
- procedure Set_Field22 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field9 := Val;
- end Set_Field22;
-
- procedure Set_Field23 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field10 := Val;
- end Set_Field23;
-
- procedure Set_Field24 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field6 := Val;
- end Set_Field24;
-
- procedure Set_Field25 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field7 := Val;
- end Set_Field25;
-
- procedure Set_Field26 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field8 := Val;
- end Set_Field26;
-
- procedure Set_Field27 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field9 := Val;
- end Set_Field27;
-
- procedure Set_Field28 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field10 := Val;
- end Set_Field28;
-
- procedure Set_Field29 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field11 := Val;
- end Set_Field29;
-
- procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field6 := Val;
- end Set_Field30;
-
- procedure Set_Field31 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field7 := Val;
- end Set_Field31;
-
- procedure Set_Field32 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field8 := Val;
- end Set_Field32;
-
- procedure Set_Field33 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field9 := Val;
- end Set_Field33;
-
- procedure Set_Field34 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field10 := Val;
- end Set_Field34;
-
- procedure Set_Field35 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field11 := Val;
- end Set_Field35;
-
- procedure Set_Field36 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field6 := Val;
- end Set_Field36;
-
- procedure Set_Field37 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field7 := Val;
- end Set_Field37;
-
- procedure Set_Field38 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field8 := Val;
- end Set_Field38;
-
- procedure Set_Field39 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field9 := Val;
- end Set_Field39;
-
- procedure Set_Field40 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field10 := Val;
- end Set_Field40;
-
- procedure Set_Field41 (N : Node_Id; Val : Union_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field11 := Val;
- end Set_Field41;
-
- procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field1 := Union_Id (Val);
- end Set_Node1;
-
- procedure Set_Node2 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field2 := Union_Id (Val);
- end Set_Node2;
-
- procedure Set_Node3 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := Union_Id (Val);
- end Set_Node3;
-
- procedure Set_Node4 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field4 := Union_Id (Val);
- end Set_Node4;
-
- procedure Set_Node5 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field5 := Union_Id (Val);
- end Set_Node5;
-
- procedure Set_Node6 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field6 := Union_Id (Val);
- end Set_Node6;
-
- procedure Set_Node7 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field7 := Union_Id (Val);
- end Set_Node7;
-
- procedure Set_Node8 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field8 := Union_Id (Val);
- end Set_Node8;
-
- procedure Set_Node9 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field9 := Union_Id (Val);
- end Set_Node9;
-
- procedure Set_Node10 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field10 := Union_Id (Val);
- end Set_Node10;
-
- procedure Set_Node11 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field11 := Union_Id (Val);
- end Set_Node11;
-
- procedure Set_Node12 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field12 := Union_Id (Val);
- end Set_Node12;
-
- procedure Set_Node13 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field6 := Union_Id (Val);
- end Set_Node13;
-
- procedure Set_Node14 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field7 := Union_Id (Val);
- end Set_Node14;
-
- procedure Set_Node15 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field8 := Union_Id (Val);
- end Set_Node15;
-
- procedure Set_Node16 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field9 := Union_Id (Val);
- end Set_Node16;
-
- procedure Set_Node17 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field10 := Union_Id (Val);
- end Set_Node17;
-
- procedure Set_Node18 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field11 := Union_Id (Val);
- end Set_Node18;
-
- procedure Set_Node19 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field6 := Union_Id (Val);
- end Set_Node19;
-
- procedure Set_Node20 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field7 := Union_Id (Val);
- end Set_Node20;
-
- procedure Set_Node21 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field8 := Union_Id (Val);
- end Set_Node21;
-
- procedure Set_Node22 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field9 := Union_Id (Val);
- end Set_Node22;
-
- procedure Set_Node23 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field10 := Union_Id (Val);
- end Set_Node23;
-
- procedure Set_Node24 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field6 := Union_Id (Val);
- end Set_Node24;
-
- procedure Set_Node25 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field7 := Union_Id (Val);
- end Set_Node25;
-
- procedure Set_Node26 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field8 := Union_Id (Val);
- end Set_Node26;
-
- procedure Set_Node27 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field9 := Union_Id (Val);
- end Set_Node27;
-
- procedure Set_Node28 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field10 := Union_Id (Val);
- end Set_Node28;
-
- procedure Set_Node29 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field11 := Union_Id (Val);
- end Set_Node29;
-
- procedure Set_Node30 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field6 := Union_Id (Val);
- end Set_Node30;
-
- procedure Set_Node31 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field7 := Union_Id (Val);
- end Set_Node31;
-
- procedure Set_Node32 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field8 := Union_Id (Val);
- end Set_Node32;
-
- procedure Set_Node33 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field9 := Union_Id (Val);
- end Set_Node33;
-
- procedure Set_Node34 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field10 := Union_Id (Val);
- end Set_Node34;
-
- procedure Set_Node35 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field11 := Union_Id (Val);
- end Set_Node35;
-
- procedure Set_Node36 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field6 := Union_Id (Val);
- end Set_Node36;
-
- procedure Set_Node37 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field7 := Union_Id (Val);
- end Set_Node37;
-
- procedure Set_Node38 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field8 := Union_Id (Val);
- end Set_Node38;
-
- procedure Set_Node39 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field9 := Union_Id (Val);
- end Set_Node39;
-
- procedure Set_Node40 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field10 := Union_Id (Val);
- end Set_Node40;
-
- procedure Set_Node41 (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field11 := Union_Id (Val);
- end Set_Node41;
-
- procedure Set_List1 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field1 := Union_Id (Val);
- end Set_List1;
-
- procedure Set_List2 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field2 := Union_Id (Val);
- end Set_List2;
-
- procedure Set_List3 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := Union_Id (Val);
- end Set_List3;
-
- procedure Set_List4 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field4 := Union_Id (Val);
- end Set_List4;
-
- procedure Set_List5 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field5 := Union_Id (Val);
- end Set_List5;
-
- procedure Set_List10 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field10 := Union_Id (Val);
- end Set_List10;
-
- procedure Set_List14 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field7 := Union_Id (Val);
- end Set_List14;
-
- procedure Set_List25 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field7 := Union_Id (Val);
- end Set_List25;
-
- procedure Set_List38 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field8 := Union_Id (Val);
- end Set_List38;
-
- procedure Set_List39 (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field9 := Union_Id (Val);
- end Set_List39;
-
- procedure Set_Elist1 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Field1 := Union_Id (Val);
- end Set_Elist1;
-
- procedure Set_Elist2 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Field2 := Union_Id (Val);
- end Set_Elist2;
-
- procedure Set_Elist3 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Field3 := Union_Id (Val);
- end Set_Elist3;
-
- procedure Set_Elist4 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Field4 := Union_Id (Val);
- end Set_Elist4;
-
- procedure Set_Elist5 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- Nodes.Table (N).Field5 := Union_Id (Val);
- end Set_Elist5;
-
- procedure Set_Elist8 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field8 := Union_Id (Val);
- end Set_Elist8;
-
- procedure Set_Elist9 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field9 := Union_Id (Val);
- end Set_Elist9;
-
- procedure Set_Elist10 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field10 := Union_Id (Val);
- end Set_Elist10;
-
- procedure Set_Elist11 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field11 := Union_Id (Val);
- end Set_Elist11;
-
- procedure Set_Elist13 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field6 := Union_Id (Val);
- end Set_Elist13;
-
- procedure Set_Elist15 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field8 := Union_Id (Val);
- end Set_Elist15;
-
- procedure Set_Elist16 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field9 := Union_Id (Val);
- end Set_Elist16;
-
- procedure Set_Elist18 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field11 := Union_Id (Val);
- end Set_Elist18;
-
- procedure Set_Elist21 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field8 := Union_Id (Val);
- end Set_Elist21;
-
- procedure Set_Elist23 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field10 := Union_Id (Val);
- end Set_Elist23;
-
- procedure Set_Elist24 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field6 := Union_Id (Val);
- end Set_Elist24;
-
- procedure Set_Elist25 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field7 := Union_Id (Val);
- end Set_Elist25;
-
- procedure Set_Elist26 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field8 := Union_Id (Val);
- end Set_Elist26;
-
- procedure Set_Elist29 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field11 := Union_Id (Val);
- end Set_Elist29;
-
- procedure Set_Elist30 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Field6 := Union_Id (Val);
- end Set_Elist30;
-
- procedure Set_Elist36 (N : Node_Id; Val : Elist_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 6).Field6 := Union_Id (Val);
- end Set_Elist36;
-
- procedure Set_Name1 (N : Node_Id; Val : Name_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field1 := Union_Id (Val);
- end Set_Name1;
-
- procedure Set_Name2 (N : Node_Id; Val : Name_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field2 := Union_Id (Val);
- end Set_Name2;
-
- procedure Set_Str3 (N : Node_Id; Val : String_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := Union_Id (Val);
- end Set_Str3;
-
- procedure Set_Uint2 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field2 := To_Union (Val);
- end Set_Uint2;
-
- procedure Set_Uint3 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := To_Union (Val);
- end Set_Uint3;
-
- procedure Set_Uint4 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field4 := To_Union (Val);
- end Set_Uint4;
-
- procedure Set_Uint5 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field5 := To_Union (Val);
- end Set_Uint5;
-
- procedure Set_Uint8 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field8 := To_Union (Val);
- end Set_Uint8;
-
- procedure Set_Uint9 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field9 := To_Union (Val);
- end Set_Uint9;
-
- procedure Set_Uint10 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field10 := To_Union (Val);
- end Set_Uint10;
-
- procedure Set_Uint11 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field11 := To_Union (Val);
- end Set_Uint11;
-
- procedure Set_Uint12 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Field12 := To_Union (Val);
- end Set_Uint12;
-
- procedure Set_Uint13 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field6 := To_Union (Val);
- end Set_Uint13;
-
- procedure Set_Uint14 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field7 := To_Union (Val);
- end Set_Uint14;
-
- procedure Set_Uint15 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field8 := To_Union (Val);
- end Set_Uint15;
-
- procedure Set_Uint16 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field9 := To_Union (Val);
- end Set_Uint16;
-
- procedure Set_Uint17 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field10 := To_Union (Val);
- end Set_Uint17;
-
- procedure Set_Uint22 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field9 := To_Union (Val);
- end Set_Uint22;
-
- procedure Set_Uint24 (N : Node_Id; Val : Uint) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Field6 := To_Union (Val);
- end Set_Uint24;
-
- procedure Set_Ureal3 (N : Node_Id; Val : Ureal) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Field3 := To_Union (Val);
- end Set_Ureal3;
-
- procedure Set_Ureal18 (N : Node_Id; Val : Ureal) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Field11 := To_Union (Val);
- end Set_Ureal18;
-
- procedure Set_Ureal21 (N : Node_Id; Val : Ureal) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Field8 := To_Union (Val);
- end Set_Ureal21;
-
- procedure Set_Flag0 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Flags.Table (N).Flag0 := Val;
- end Set_Flag0;
-
- procedure Set_Flag1 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Flags.Table (N).Flag1 := Val;
- end Set_Flag1;
-
- procedure Set_Flag2 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Flags.Table (N).Flag2 := Val;
- end Set_Flag2;
-
- procedure Set_Flag3 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Flags.Table (N).Flag3 := Val;
- end Set_Flag3;
-
- procedure Set_Flag4 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag4 := Val;
- end Set_Flag4;
-
- procedure Set_Flag5 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag5 := Val;
- end Set_Flag5;
-
- procedure Set_Flag6 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag6 := Val;
- end Set_Flag6;
-
- procedure Set_Flag7 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag7 := Val;
- end Set_Flag7;
-
- procedure Set_Flag8 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag8 := Val;
- end Set_Flag8;
-
- procedure Set_Flag9 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag9 := Val;
- end Set_Flag9;
-
- procedure Set_Flag10 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag10 := Val;
- end Set_Flag10;
-
- procedure Set_Flag11 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag11 := Val;
- end Set_Flag11;
-
- procedure Set_Flag12 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag12 := Val;
- end Set_Flag12;
-
- procedure Set_Flag13 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag13 := Val;
- end Set_Flag13;
-
- procedure Set_Flag14 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag14 := Val;
- end Set_Flag14;
-
- procedure Set_Flag15 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag15 := Val;
- end Set_Flag15;
-
- procedure Set_Flag16 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag16 := Val;
- end Set_Flag16;
-
- procedure Set_Flag17 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag17 := Val;
- end Set_Flag17;
-
- procedure Set_Flag18 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- Nodes.Table (N).Flag18 := Val;
- end Set_Flag18;
-
- procedure Set_Flag19 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).In_List := Val;
- end Set_Flag19;
-
- procedure Set_Flag20 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Has_Aspects := Val;
- end Set_Flag20;
-
- procedure Set_Flag21 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Rewrite_Ins := Val;
- end Set_Flag21;
-
- procedure Set_Flag22 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Analyzed := Val;
- end Set_Flag22;
-
- procedure Set_Flag23 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Comes_From_Source := Val;
- end Set_Flag23;
-
- procedure Set_Flag24 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Error_Posted := Val;
- end Set_Flag24;
-
- procedure Set_Flag25 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag4 := Val;
- end Set_Flag25;
-
- procedure Set_Flag26 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag5 := Val;
- end Set_Flag26;
-
- procedure Set_Flag27 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag6 := Val;
- end Set_Flag27;
-
- procedure Set_Flag28 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag7 := Val;
- end Set_Flag28;
-
- procedure Set_Flag29 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag8 := Val;
- end Set_Flag29;
-
- procedure Set_Flag30 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag9 := Val;
- end Set_Flag30;
-
- procedure Set_Flag31 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag10 := Val;
- end Set_Flag31;
-
- procedure Set_Flag32 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag11 := Val;
- end Set_Flag32;
-
- procedure Set_Flag33 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag12 := Val;
- end Set_Flag33;
-
- procedure Set_Flag34 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag13 := Val;
- end Set_Flag34;
-
- procedure Set_Flag35 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag14 := Val;
- end Set_Flag35;
-
- procedure Set_Flag36 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag15 := Val;
- end Set_Flag36;
-
- procedure Set_Flag37 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag16 := Val;
- end Set_Flag37;
-
- procedure Set_Flag38 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag17 := Val;
- end Set_Flag38;
-
- procedure Set_Flag39 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Flag18 := Val;
- end Set_Flag39;
-
- procedure Set_Flag40 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).In_List := Val;
- end Set_Flag40;
-
- procedure Set_Flag41 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Has_Aspects := Val;
- end Set_Flag41;
-
- procedure Set_Flag42 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Rewrite_Ins := Val;
- end Set_Flag42;
-
- procedure Set_Flag43 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Analyzed := Val;
- end Set_Flag43;
-
- procedure Set_Flag44 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Comes_From_Source := Val;
- end Set_Flag44;
-
- procedure Set_Flag45 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Error_Posted := Val;
- end Set_Flag45;
-
- procedure Set_Flag46 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag4 := Val;
- end Set_Flag46;
-
- procedure Set_Flag47 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag5 := Val;
- end Set_Flag47;
-
- procedure Set_Flag48 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag6 := Val;
- end Set_Flag48;
-
- procedure Set_Flag49 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag7 := Val;
- end Set_Flag49;
-
- procedure Set_Flag50 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag8 := Val;
- end Set_Flag50;
-
- procedure Set_Flag51 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag9 := Val;
- end Set_Flag51;
-
- procedure Set_Flag52 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag10 := Val;
- end Set_Flag52;
-
- procedure Set_Flag53 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag11 := Val;
- end Set_Flag53;
-
- procedure Set_Flag54 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag12 := Val;
- end Set_Flag54;
-
- procedure Set_Flag55 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag13 := Val;
- end Set_Flag55;
-
- procedure Set_Flag56 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag14 := Val;
- end Set_Flag56;
-
- procedure Set_Flag57 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag15 := Val;
- end Set_Flag57;
-
- procedure Set_Flag58 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag16 := Val;
- end Set_Flag58;
-
- procedure Set_Flag59 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag17 := Val;
- end Set_Flag59;
-
- procedure Set_Flag60 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Flag18 := Val;
- end Set_Flag60;
-
- procedure Set_Flag61 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Pflag1 := Val;
- end Set_Flag61;
-
- procedure Set_Flag62 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 1).Pflag2 := Val;
- end Set_Flag62;
-
- procedure Set_Flag63 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Pflag1 := Val;
- end Set_Flag63;
-
- procedure Set_Flag64 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 2).Pflag2 := Val;
- end Set_Flag64;
-
- procedure Set_Flag65 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag65 := Val;
- end Set_Flag65;
-
- procedure Set_Flag66 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag66 := Val;
- end Set_Flag66;
-
- procedure Set_Flag67 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag67 := Val;
- end Set_Flag67;
-
- procedure Set_Flag68 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag68 := Val;
- end Set_Flag68;
-
- procedure Set_Flag69 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag69 := Val;
- end Set_Flag69;
-
- procedure Set_Flag70 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag70 := Val;
- end Set_Flag70;
-
- procedure Set_Flag71 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag71 := Val;
- end Set_Flag71;
-
- procedure Set_Flag72 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 2).Nkind'Unrestricted_Access)).Flag72 := Val;
- end Set_Flag72;
-
- procedure Set_Flag73 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag73 := Val;
- end Set_Flag73;
-
- procedure Set_Flag74 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag74 := Val;
- end Set_Flag74;
-
- procedure Set_Flag75 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag75 := Val;
- end Set_Flag75;
-
- procedure Set_Flag76 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag76 := Val;
- end Set_Flag76;
-
- procedure Set_Flag77 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag77 := Val;
- end Set_Flag77;
-
- procedure Set_Flag78 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag78 := Val;
- end Set_Flag78;
-
- procedure Set_Flag79 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag79 := Val;
- end Set_Flag79;
-
- procedure Set_Flag80 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag80 := Val;
- end Set_Flag80;
-
- procedure Set_Flag81 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag81 := Val;
- end Set_Flag81;
-
- procedure Set_Flag82 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag82 := Val;
- end Set_Flag82;
-
- procedure Set_Flag83 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag83 := Val;
- end Set_Flag83;
-
- procedure Set_Flag84 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag84 := Val;
- end Set_Flag84;
-
- procedure Set_Flag85 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag85 := Val;
- end Set_Flag85;
-
- procedure Set_Flag86 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag86 := Val;
- end Set_Flag86;
-
- procedure Set_Flag87 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag87 := Val;
- end Set_Flag87;
-
- procedure Set_Flag88 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag88 := Val;
- end Set_Flag88;
-
- procedure Set_Flag89 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag89 := Val;
- end Set_Flag89;
-
- procedure Set_Flag90 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag90 := Val;
- end Set_Flag90;
-
- procedure Set_Flag91 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag91 := Val;
- end Set_Flag91;
-
- procedure Set_Flag92 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag92 := Val;
- end Set_Flag92;
-
- procedure Set_Flag93 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag93 := Val;
- end Set_Flag93;
-
- procedure Set_Flag94 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag94 := Val;
- end Set_Flag94;
-
- procedure Set_Flag95 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag95 := Val;
- end Set_Flag95;
-
- procedure Set_Flag96 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 2).Field12'Unrestricted_Access)).Flag96 := Val;
- end Set_Flag96;
-
- procedure Set_Flag97 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag97 := Val;
- end Set_Flag97;
-
- procedure Set_Flag98 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag98 := Val;
- end Set_Flag98;
-
- procedure Set_Flag99 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag99 := Val;
- end Set_Flag99;
-
- procedure Set_Flag100 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag100 := Val;
- end Set_Flag100;
-
- procedure Set_Flag101 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag101 := Val;
- end Set_Flag101;
-
- procedure Set_Flag102 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag102 := Val;
- end Set_Flag102;
-
- procedure Set_Flag103 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag103 := Val;
- end Set_Flag103;
-
- procedure Set_Flag104 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag104 := Val;
- end Set_Flag104;
-
- procedure Set_Flag105 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag105 := Val;
- end Set_Flag105;
-
- procedure Set_Flag106 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag106 := Val;
- end Set_Flag106;
-
- procedure Set_Flag107 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag107 := Val;
- end Set_Flag107;
-
- procedure Set_Flag108 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag108 := Val;
- end Set_Flag108;
-
- procedure Set_Flag109 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag109 := Val;
- end Set_Flag109;
-
- procedure Set_Flag110 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag110 := Val;
- end Set_Flag110;
-
- procedure Set_Flag111 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag111 := Val;
- end Set_Flag111;
-
- procedure Set_Flag112 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag112 := Val;
- end Set_Flag112;
-
- procedure Set_Flag113 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag113 := Val;
- end Set_Flag113;
-
- procedure Set_Flag114 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag114 := Val;
- end Set_Flag114;
-
- procedure Set_Flag115 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag115 := Val;
- end Set_Flag115;
-
- procedure Set_Flag116 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag116 := Val;
- end Set_Flag116;
-
- procedure Set_Flag117 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag117 := Val;
- end Set_Flag117;
-
- procedure Set_Flag118 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag118 := Val;
- end Set_Flag118;
-
- procedure Set_Flag119 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag119 := Val;
- end Set_Flag119;
-
- procedure Set_Flag120 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag120 := Val;
- end Set_Flag120;
-
- procedure Set_Flag121 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag121 := Val;
- end Set_Flag121;
-
- procedure Set_Flag122 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag122 := Val;
- end Set_Flag122;
-
- procedure Set_Flag123 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag123 := Val;
- end Set_Flag123;
-
- procedure Set_Flag124 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag124 := Val;
- end Set_Flag124;
-
- procedure Set_Flag125 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag125 := Val;
- end Set_Flag125;
-
- procedure Set_Flag126 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag126 := Val;
- end Set_Flag126;
-
- procedure Set_Flag127 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag127 := Val;
- end Set_Flag127;
-
- procedure Set_Flag128 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word2_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field12'Unrestricted_Access)).Flag128 := Val;
- end Set_Flag128;
-
- procedure Set_Flag129 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).In_List := Val;
- end Set_Flag129;
-
- procedure Set_Flag130 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Has_Aspects := Val;
- end Set_Flag130;
-
- procedure Set_Flag131 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Rewrite_Ins := Val;
- end Set_Flag131;
-
- procedure Set_Flag132 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Analyzed := Val;
- end Set_Flag132;
-
- procedure Set_Flag133 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Comes_From_Source := Val;
- end Set_Flag133;
-
- procedure Set_Flag134 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Error_Posted := Val;
- end Set_Flag134;
-
- procedure Set_Flag135 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag4 := Val;
- end Set_Flag135;
-
- procedure Set_Flag136 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag5 := Val;
- end Set_Flag136;
-
- procedure Set_Flag137 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag6 := Val;
- end Set_Flag137;
-
- procedure Set_Flag138 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag7 := Val;
- end Set_Flag138;
-
- procedure Set_Flag139 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag8 := Val;
- end Set_Flag139;
-
- procedure Set_Flag140 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag9 := Val;
- end Set_Flag140;
-
- procedure Set_Flag141 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag10 := Val;
- end Set_Flag141;
-
- procedure Set_Flag142 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag11 := Val;
- end Set_Flag142;
-
- procedure Set_Flag143 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag12 := Val;
- end Set_Flag143;
-
- procedure Set_Flag144 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag13 := Val;
- end Set_Flag144;
-
- procedure Set_Flag145 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag14 := Val;
- end Set_Flag145;
-
- procedure Set_Flag146 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag15 := Val;
- end Set_Flag146;
-
- procedure Set_Flag147 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag16 := Val;
- end Set_Flag147;
-
- procedure Set_Flag148 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag17 := Val;
- end Set_Flag148;
-
- procedure Set_Flag149 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Flag18 := Val;
- end Set_Flag149;
-
- procedure Set_Flag150 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Pflag1 := Val;
- end Set_Flag150;
-
- procedure Set_Flag151 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 3).Pflag2 := Val;
- end Set_Flag151;
-
- procedure Set_Flag152 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag152 := Val;
- end Set_Flag152;
-
- procedure Set_Flag153 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag153 := Val;
- end Set_Flag153;
-
- procedure Set_Flag154 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag154 := Val;
- end Set_Flag154;
-
- procedure Set_Flag155 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag155 := Val;
- end Set_Flag155;
-
- procedure Set_Flag156 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag156 := Val;
- end Set_Flag156;
-
- procedure Set_Flag157 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag157 := Val;
- end Set_Flag157;
-
- procedure Set_Flag158 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag158 := Val;
- end Set_Flag158;
-
- procedure Set_Flag159 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag159 := Val;
- end Set_Flag159;
-
- procedure Set_Flag160 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag160 := Val;
- end Set_Flag160;
-
- procedure Set_Flag161 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag161 := Val;
- end Set_Flag161;
-
- procedure Set_Flag162 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag162 := Val;
- end Set_Flag162;
-
- procedure Set_Flag163 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag163 := Val;
- end Set_Flag163;
-
- procedure Set_Flag164 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag164 := Val;
- end Set_Flag164;
-
- procedure Set_Flag165 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag165 := Val;
- end Set_Flag165;
-
- procedure Set_Flag166 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag166 := Val;
- end Set_Flag166;
-
- procedure Set_Flag167 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag167 := Val;
- end Set_Flag167;
-
- procedure Set_Flag168 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag168 := Val;
- end Set_Flag168;
-
- procedure Set_Flag169 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag169 := Val;
- end Set_Flag169;
-
- procedure Set_Flag170 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag170 := Val;
- end Set_Flag170;
-
- procedure Set_Flag171 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag171 := Val;
- end Set_Flag171;
-
- procedure Set_Flag172 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag172 := Val;
- end Set_Flag172;
-
- procedure Set_Flag173 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag173 := Val;
- end Set_Flag173;
-
- procedure Set_Flag174 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag174 := Val;
- end Set_Flag174;
-
- procedure Set_Flag175 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag175 := Val;
- end Set_Flag175;
-
- procedure Set_Flag176 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag176 := Val;
- end Set_Flag176;
-
- procedure Set_Flag177 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag177 := Val;
- end Set_Flag177;
-
- procedure Set_Flag178 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag178 := Val;
- end Set_Flag178;
-
- procedure Set_Flag179 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag179 := Val;
- end Set_Flag179;
-
- procedure Set_Flag180 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag180 := Val;
- end Set_Flag180;
-
- procedure Set_Flag181 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag181 := Val;
- end Set_Flag181;
-
- procedure Set_Flag182 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag182 := Val;
- end Set_Flag182;
-
- procedure Set_Flag183 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word3_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 3).Field11'Unrestricted_Access)).Flag183 := Val;
- end Set_Flag183;
-
- procedure Set_Flag184 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag184 := Val;
- end Set_Flag184;
-
- procedure Set_Flag185 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag185 := Val;
- end Set_Flag185;
-
- procedure Set_Flag186 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag186 := Val;
- end Set_Flag186;
-
- procedure Set_Flag187 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag187 := Val;
- end Set_Flag187;
-
- procedure Set_Flag188 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag188 := Val;
- end Set_Flag188;
-
- procedure Set_Flag189 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag189 := Val;
- end Set_Flag189;
-
- procedure Set_Flag190 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag190 := Val;
- end Set_Flag190;
-
- procedure Set_Flag191 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag191 := Val;
- end Set_Flag191;
-
- procedure Set_Flag192 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag192 := Val;
- end Set_Flag192;
-
- procedure Set_Flag193 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag193 := Val;
- end Set_Flag193;
-
- procedure Set_Flag194 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag194 := Val;
- end Set_Flag194;
-
- procedure Set_Flag195 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag195 := Val;
- end Set_Flag195;
-
- procedure Set_Flag196 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag196 := Val;
- end Set_Flag196;
-
- procedure Set_Flag197 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag197 := Val;
- end Set_Flag197;
-
- procedure Set_Flag198 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag198 := Val;
- end Set_Flag198;
-
- procedure Set_Flag199 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag199 := Val;
- end Set_Flag199;
-
- procedure Set_Flag200 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag200 := Val;
- end Set_Flag200;
-
- procedure Set_Flag201 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag201 := Val;
- end Set_Flag201;
-
- procedure Set_Flag202 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag202 := Val;
- end Set_Flag202;
-
- procedure Set_Flag203 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag203 := Val;
- end Set_Flag203;
-
- procedure Set_Flag204 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag204 := Val;
- end Set_Flag204;
-
- procedure Set_Flag205 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag205 := Val;
- end Set_Flag205;
-
- procedure Set_Flag206 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag206 := Val;
- end Set_Flag206;
-
- procedure Set_Flag207 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag207 := Val;
- end Set_Flag207;
-
- procedure Set_Flag208 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag208 := Val;
- end Set_Flag208;
-
- procedure Set_Flag209 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag209 := Val;
- end Set_Flag209;
-
- procedure Set_Flag210 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag210 := Val;
- end Set_Flag210;
-
- procedure Set_Flag211 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag211 := Val;
- end Set_Flag211;
-
- procedure Set_Flag212 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag212 := Val;
- end Set_Flag212;
-
- procedure Set_Flag213 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag213 := Val;
- end Set_Flag213;
-
- procedure Set_Flag214 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag214 := Val;
- end Set_Flag214;
-
- procedure Set_Flag215 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word4_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag215 := Val;
- end Set_Flag215;
-
- procedure Set_Flag216 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).In_List := Val;
- end Set_Flag216;
-
- procedure Set_Flag217 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Has_Aspects := Val;
- end Set_Flag217;
-
- procedure Set_Flag218 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Rewrite_Ins := Val;
- end Set_Flag218;
-
- procedure Set_Flag219 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Analyzed := Val;
- end Set_Flag219;
-
- procedure Set_Flag220 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Comes_From_Source := Val;
- end Set_Flag220;
-
- procedure Set_Flag221 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Error_Posted := Val;
- end Set_Flag221;
-
- procedure Set_Flag222 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag4 := Val;
- end Set_Flag222;
-
- procedure Set_Flag223 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag5 := Val;
- end Set_Flag223;
-
- procedure Set_Flag224 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag6 := Val;
- end Set_Flag224;
-
- procedure Set_Flag225 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag7 := Val;
- end Set_Flag225;
-
- procedure Set_Flag226 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag8 := Val;
- end Set_Flag226;
-
- procedure Set_Flag227 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag9 := Val;
- end Set_Flag227;
-
- procedure Set_Flag228 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag10 := Val;
- end Set_Flag228;
-
- procedure Set_Flag229 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag11 := Val;
- end Set_Flag229;
-
- procedure Set_Flag230 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag12 := Val;
- end Set_Flag230;
-
- procedure Set_Flag231 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag13 := Val;
- end Set_Flag231;
-
- procedure Set_Flag232 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag14 := Val;
- end Set_Flag232;
-
- procedure Set_Flag233 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag15 := Val;
- end Set_Flag233;
-
- procedure Set_Flag234 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag16 := Val;
- end Set_Flag234;
-
- procedure Set_Flag235 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag17 := Val;
- end Set_Flag235;
-
- procedure Set_Flag236 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Flag18 := Val;
- end Set_Flag236;
-
- procedure Set_Flag237 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Pflag1 := Val;
- end Set_Flag237;
-
- procedure Set_Flag238 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 4).Pflag2 := Val;
- end Set_Flag238;
-
- procedure Set_Flag239 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag239 := Val;
- end Set_Flag239;
-
- procedure Set_Flag240 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag240 := Val;
- end Set_Flag240;
-
- procedure Set_Flag241 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag241 := Val;
- end Set_Flag241;
-
- procedure Set_Flag242 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag242 := Val;
- end Set_Flag242;
-
- procedure Set_Flag243 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag243 := Val;
- end Set_Flag243;
-
- procedure Set_Flag244 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag244 := Val;
- end Set_Flag244;
-
- procedure Set_Flag245 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag245 := Val;
- end Set_Flag245;
-
- procedure Set_Flag246 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte2_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 3).Nkind'Unrestricted_Access)).Flag246 := Val;
- end Set_Flag246;
-
- procedure Set_Flag247 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag247 := Val;
- end Set_Flag247;
-
- procedure Set_Flag248 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag248 := Val;
- end Set_Flag248;
-
- procedure Set_Flag249 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag249 := Val;
- end Set_Flag249;
-
- procedure Set_Flag250 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag250 := Val;
- end Set_Flag250;
-
- procedure Set_Flag251 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag251 := Val;
- end Set_Flag251;
-
- procedure Set_Flag252 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag252 := Val;
- end Set_Flag252;
-
- procedure Set_Flag253 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag253 := Val;
- end Set_Flag253;
-
- procedure Set_Flag254 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte3_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
- end Set_Flag254;
-
- procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag255 := Val;
- end Set_Flag255;
-
- procedure Set_Flag256 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag256 := Val;
- end Set_Flag256;
-
- procedure Set_Flag257 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag257 := Val;
- end Set_Flag257;
-
- procedure Set_Flag258 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag258 := Val;
- end Set_Flag258;
-
- procedure Set_Flag259 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag259 := Val;
- end Set_Flag259;
-
- procedure Set_Flag260 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag260 := Val;
- end Set_Flag260;
-
- procedure Set_Flag261 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag261 := Val;
- end Set_Flag261;
-
- procedure Set_Flag262 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag262 := Val;
- end Set_Flag262;
-
- procedure Set_Flag263 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag263 := Val;
- end Set_Flag263;
-
- procedure Set_Flag264 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag264 := Val;
- end Set_Flag264;
-
- procedure Set_Flag265 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag265 := Val;
- end Set_Flag265;
-
- procedure Set_Flag266 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag266 := Val;
- end Set_Flag266;
-
- procedure Set_Flag267 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag267 := Val;
- end Set_Flag267;
-
- procedure Set_Flag268 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag268 := Val;
- end Set_Flag268;
-
- procedure Set_Flag269 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag269 := Val;
- end Set_Flag269;
-
- procedure Set_Flag270 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag270 := Val;
- end Set_Flag270;
-
- procedure Set_Flag271 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag271 := Val;
- end Set_Flag271;
-
- procedure Set_Flag272 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag272 := Val;
- end Set_Flag272;
-
- procedure Set_Flag273 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag273 := Val;
- end Set_Flag273;
-
- procedure Set_Flag274 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag274 := Val;
- end Set_Flag274;
-
- procedure Set_Flag275 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag275 := Val;
- end Set_Flag275;
-
- procedure Set_Flag276 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag276 := Val;
- end Set_Flag276;
-
- procedure Set_Flag277 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag277 := Val;
- end Set_Flag277;
-
- procedure Set_Flag278 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag278 := Val;
- end Set_Flag278;
-
- procedure Set_Flag279 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag279 := Val;
- end Set_Flag279;
-
- procedure Set_Flag280 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag280 := Val;
- end Set_Flag280;
-
- procedure Set_Flag281 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag281 := Val;
- end Set_Flag281;
-
- procedure Set_Flag282 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag282 := Val;
- end Set_Flag282;
-
- procedure Set_Flag283 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag283 := Val;
- end Set_Flag283;
-
- procedure Set_Flag284 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag284 := Val;
- end Set_Flag284;
-
- procedure Set_Flag285 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag285 := Val;
- end Set_Flag285;
-
- procedure Set_Flag286 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Word5_Ptr
- (Union_Id_Ptr'
- (Nodes.Table (N + 5).Field12'Unrestricted_Access)).Flag286 := Val;
- end Set_Flag286;
-
- procedure Set_Flag287 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).In_List := Val;
- end Set_Flag287;
-
- procedure Set_Flag288 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Has_Aspects := Val;
- end Set_Flag288;
-
- procedure Set_Flag289 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Rewrite_Ins := Val;
- end Set_Flag289;
-
- procedure Set_Flag290 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Analyzed := Val;
- end Set_Flag290;
-
- procedure Set_Flag291 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Comes_From_Source := Val;
- end Set_Flag291;
-
- procedure Set_Flag292 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Error_Posted := Val;
- end Set_Flag292;
-
- procedure Set_Flag293 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag4 := Val;
- end Set_Flag293;
-
- procedure Set_Flag294 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag5 := Val;
- end Set_Flag294;
-
- procedure Set_Flag295 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag6 := Val;
- end Set_Flag295;
-
- procedure Set_Flag296 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag7 := Val;
- end Set_Flag296;
-
- procedure Set_Flag297 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag8 := Val;
- end Set_Flag297;
-
- procedure Set_Flag298 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag9 := Val;
- end Set_Flag298;
-
- procedure Set_Flag299 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag10 := Val;
- end Set_Flag299;
-
- procedure Set_Flag300 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag11 := Val;
- end Set_Flag300;
-
- procedure Set_Flag301 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag12 := Val;
- end Set_Flag301;
-
- procedure Set_Flag302 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag13 := Val;
- end Set_Flag302;
-
- procedure Set_Flag303 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag14 := Val;
- end Set_Flag303;
-
- procedure Set_Flag304 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag15 := Val;
- end Set_Flag304;
-
- procedure Set_Flag305 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag16 := Val;
- end Set_Flag305;
-
- procedure Set_Flag306 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag17 := Val;
- end Set_Flag306;
-
- procedure Set_Flag307 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Flag18 := Val;
- end Set_Flag307;
-
- procedure Set_Flag308 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Pflag1 := Val;
- end Set_Flag308;
-
- procedure Set_Flag309 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- Nodes.Table (N + 5).Pflag2 := Val;
- end Set_Flag309;
-
- procedure Set_Flag310 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag310 := Val;
- end Set_Flag310;
-
- procedure Set_Flag311 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag311 := Val;
- end Set_Flag311;
-
- procedure Set_Flag312 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag312 := Val;
- end Set_Flag312;
-
- procedure Set_Flag313 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag313 := Val;
- end Set_Flag313;
-
- procedure Set_Flag314 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag314 := Val;
- end Set_Flag314;
-
- procedure Set_Flag315 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag315 := Val;
- end Set_Flag315;
-
- procedure Set_Flag316 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag316 := Val;
- end Set_Flag316;
-
- procedure Set_Flag317 (N : Node_Id; Val : Boolean) is
- begin
- pragma Assert (not Locked);
- pragma Assert (Nkind (N) in N_Entity);
- To_Flag_Byte4_Ptr
- (Node_Kind_Ptr'
- (Nodes.Table (N + 5).Nkind'Unrestricted_Access)).Flag317 := Val;
- end Set_Flag317;
-
- procedure Set_Node1_With_Parent (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
-
- if Val > Error then
- Set_Parent (N => Val, Val => N);
- end if;
-
- Set_Node1 (N, Val);
- end Set_Node1_With_Parent;
-
- procedure Set_Node2_With_Parent (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
-
- if Val > Error then
- Set_Parent (N => Val, Val => N);
- end if;
-
- Set_Node2 (N, Val);
- end Set_Node2_With_Parent;
-
- procedure Set_Node3_With_Parent (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
-
- if Val > Error then
- Set_Parent (N => Val, Val => N);
- end if;
-
- Set_Node3 (N, Val);
- end Set_Node3_With_Parent;
-
- procedure Set_Node4_With_Parent (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
-
- if Val > Error then
- Set_Parent (N => Val, Val => N);
- end if;
-
- Set_Node4 (N, Val);
- end Set_Node4_With_Parent;
-
- procedure Set_Node5_With_Parent (N : Node_Id; Val : Node_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
-
- if Val > Error then
- Set_Parent (N => Val, Val => N);
- end if;
-
- Set_Node5 (N, Val);
- end Set_Node5_With_Parent;
-
- procedure Set_List1_With_Parent (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- if Val /= No_List and then Val /= Error_List then
- Set_Parent (Val, N);
- end if;
- Set_List1 (N, Val);
- end Set_List1_With_Parent;
-
- procedure Set_List2_With_Parent (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- if Val /= No_List and then Val /= Error_List then
- Set_Parent (Val, N);
- end if;
- Set_List2 (N, Val);
- end Set_List2_With_Parent;
-
- procedure Set_List3_With_Parent (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- if Val /= No_List and then Val /= Error_List then
- Set_Parent (Val, N);
- end if;
- Set_List3 (N, Val);
- end Set_List3_With_Parent;
-
- procedure Set_List4_With_Parent (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- if Val /= No_List and then Val /= Error_List then
- Set_Parent (Val, N);
- end if;
- Set_List4 (N, Val);
- end Set_List4_With_Parent;
-
- procedure Set_List5_With_Parent (N : Node_Id; Val : List_Id) is
- begin
- pragma Assert (not Locked);
- pragma Assert (N <= Nodes.Last);
- if Val /= No_List and then Val /= Error_List then
- Set_Parent (Val, N);
- end if;
- Set_List5 (N, Val);
- end Set_List5_With_Parent;
-
- end Unchecked_Access;
-
------------
-- Unlock --
------------
procedure Unlock is
begin
- Flags.Locked := False;
Orig_Nodes.Locked := False;
end Unlock;
@@ -8794,4 +2357,18 @@ package body Atree is
Locked := False;
end Unlock_Nodes;
+ ----------------
+ -- Zero_Slots --
+ ----------------
+
+ procedure Zero_Slots (First, Last : Node_Offset) is
+ begin
+ Slots.Table (First .. Last) := (others => 0);
+ end Zero_Slots;
+
+ procedure Zero_Slots (N : Node_Or_Entity_Id) is
+ begin
+ Zero_Slots (Off_0 (N), Off_L (N));
+ end Zero_Slots;
+
end Atree;