===================================================================
@@ -244,6 +244,18 @@
-- Subprograms_For_Type Node29
+ -- (unused) Node30
+
+ -- (unused) Node31
+
+ -- (unused) Node32
+
+ -- (unused) Node33
+
+ -- (unused) Node34
+
+ -- (unused) Node35
+
---------------------------------------------
-- Usage of Flags in Defining Entity Nodes --
---------------------------------------------
@@ -253,7 +265,7 @@
-- sense for them to be set true for certain subsets of entity kinds. See
-- the spec of Einfo for further details.
- -- Note: Flag1-Flag3 are absent from this list, for historical reasons
+ -- Note: Flag1-Flag3 are not used, for historical reasons
-- Is_Frozen Flag4
-- Has_Discriminants Flag5
@@ -533,6 +545,76 @@
-- (unused) Flag201
+ -- (unused) Flag255
+ -- (unused) Flag256
+ -- (unused) Flag257
+ -- (unused) Flag258
+ -- (unused) Flag259
+ -- (unused) Flag260
+
+ -- (unused) Flag261
+ -- (unused) Flag262
+ -- (unused) Flag263
+ -- (unused) Flag264
+ -- (unused) Flag265
+ -- (unused) Flag266
+ -- (unused) Flag267
+ -- (unused) Flag268
+ -- (unused) Flag269
+ -- (unused) Flag270
+
+ -- (unused) Flag271
+ -- (unused) Flag272
+ -- (unused) Flag273
+ -- (unused) Flag274
+ -- (unused) Flag275
+ -- (unused) Flag276
+ -- (unused) Flag277
+ -- (unused) Flag278
+ -- (unused) Flag279
+ -- (unused) Flag280
+
+ -- (unused) Flag281
+ -- (unused) Flag282
+ -- (unused) Flag283
+ -- (unused) Flag284
+ -- (unused) Flag285
+ -- (unused) Flag286
+ -- (unused) Flag287
+ -- (unused) Flag288
+ -- (unused) Flag289
+ -- (unused) Flag290
+
+ -- (unused) Flag291
+ -- (unused) Flag292
+ -- (unused) Flag293
+ -- (unused) Flag294
+ -- (unused) Flag295
+ -- (unused) Flag296
+ -- (unused) Flag297
+ -- (unused) Flag298
+ -- (unused) Flag299
+ -- (unused) Flag300
+
+ -- (unused) Flag301
+ -- (unused) Flag302
+ -- (unused) Flag303
+ -- (unused) Flag304
+ -- (unused) Flag305
+ -- (unused) Flag306
+ -- (unused) Flag307
+ -- (unused) Flag308
+ -- (unused) Flag309
+ -- (unused) Flag310
+
+ -- (unused) Flag311
+ -- (unused) Flag312
+ -- (unused) Flag313
+ -- (unused) Flag314
+ -- (unused) Flag315
+ -- (unused) Flag316
+ -- (unused) Flag317
+
-----------------------
-- Local subprograms --
-----------------------
===================================================================
@@ -205,6 +205,31 @@
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.
@@ -412,6 +437,59 @@
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 --
--------------------------------------------------
@@ -470,8 +548,8 @@
function Allocate_Initialize_Node
(Src : Node_Id;
With_Extension : Boolean) return Node_Id;
- -- Allocate a new node or node extension. If Src is not empty,
- -- the information for the newly-allocated node is copied from it.
+ -- Allocate a new node or node extension. If Src is not empty, the
+ -- information for the newly-allocated node is copied from it.
------------------------------
-- Allocate_Initialize_Node --
@@ -2232,6 +2310,42 @@
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 Node1 (N : Node_Id) return Node_Id is
begin
pragma Assert (N <= Nodes.Last);
@@ -4337,6 +4451,384 @@
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 (N <= Nodes.Last);
@@ -4517,6 +5009,42 @@
Nodes.Table (N + 4).Field11 := Val;
end Set_Field29;
+ procedure Set_Field30 (N : Node_Id; Val : Union_Id) is
+ begin
+ 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 (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 (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 (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 (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 (Nkind (N) in N_Entity);
+ Nodes.Table (N + 5).Field11 := Val;
+ end Set_Field35;
+
procedure Set_Node1 (N : Node_Id; Val : Node_Id) is
begin
pragma Assert (N <= Nodes.Last);
@@ -6750,6 +7278,464 @@
(Nodes.Table (N + 4).Nkind'Unrestricted_Access)).Flag254 := Val;
end Set_Flag254;
+ procedure Set_Flag255 (N : Node_Id; Val : Boolean) is
+ begin
+ 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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (N <= Nodes.Last);
===================================================================
@@ -196,9 +196,9 @@
-- entity, it is of type Entity_Kind which is defined
-- in package Einfo.
- -- Flag19 235 additional flags
+ -- Flag19 299 additional flags
-- ...
- -- Flag254
+ -- Flag317
-- Convention Entity convention (Convention_Id value)
@@ -208,9 +208,9 @@
-- Elist6 Synonym for Field6 typed as Elist_Id (Empty = No_Elist)
-- Uint6 Synonym for Field6 typed as Uint (Empty = Uint_0)
- -- Similar definitions for Field7 to Field28 (and Node7-Node28,
- -- Elist7-Elist28, Uint7-Uint28, Ureal7-Ureal28). Note that not all these
- -- functions are defined, only the ones that are actually used.
+ -- Similar definitions for Field7 to Field35 (and also Node7-Node35,
+ -- Elist7-Elist35, Uint7-Uint35, Ureal7-Ureal35). Note that not all
+ -- these functions are defined, only the ones that are actually used.
function Last_Node_Id return Node_Id;
pragma Inline (Last_Node_Id);
@@ -334,22 +334,22 @@
-- Field1-5 fields are set to Empty
- -- Field6-29 fields in extended nodes are set to Empty
+ -- Field6-35 fields in extended nodes are set to Empty
-- Parent is set to Empty
-- All Boolean flag fields are set to False
- -- Note: the value Empty is used in Field1-Field17 to indicate a null node.
- -- The usage varies. The common uses are to indicate absence of an
- -- optional clause or a completely unused Field1-17 field.
+ -- Note: the value Empty is used in Field1-Field35 to indicate a null node.
+ -- The usage varies. The common uses are to indicate absence of an optional
+ -- clause or a completely unused Field1-35 field.
-------------------------------------
-- Use of Synonyms for Node Fields --
-------------------------------------
-- A subpackage Atree.Unchecked_Access provides routines for reading and
- -- writing the fields defined above (Field1-27, Node1-27, Flag4-254 etc).
+ -- writing the fields defined above (Field1-35, Node1-35, Flag4-317 etc).
-- These unchecked access routines can be used for untyped traversals.
-- In addition they are used in the implementations of the Sinfo and
-- Einfo packages. These packages both provide logical synonyms for
@@ -481,10 +481,9 @@
-- valid. This routine is used in conjunction with the tree rewrite
-- routines (see descriptions of Replace/Rewrite).
--
- -- Note that the resulting node has the same parent as the source
- -- node, and is thus still attached to the tree. It is valid for
- -- Source to be Empty, in which case Relocate_Node simply returns
- -- Empty as the result.
+ -- Note that the resulting node has the same parent as the source node, and
+ -- is thus still attached to the tree. It is valid for Source to be Empty,
+ -- in which case Relocate_Node simply returns Empty as the result.
function Copy_Separate_Tree (Source : Node_Id) return Node_Id;
-- Given a node that is the root of a subtree, Copy_Separate_Tree copies
@@ -1063,6 +1062,24 @@
function Field29 (N : Node_Id) return Union_Id;
pragma Inline (Field29);
+ function Field30 (N : Node_Id) return Union_Id;
+ pragma Inline (Field30);
+
+ function Field31 (N : Node_Id) return Union_Id;
+ pragma Inline (Field31);
+
+ function Field32 (N : Node_Id) return Union_Id;
+ pragma Inline (Field32);
+
+ function Field33 (N : Node_Id) return Union_Id;
+ pragma Inline (Field33);
+
+ function Field34 (N : Node_Id) return Union_Id;
+ pragma Inline (Field34);
+
+ function Field35 (N : Node_Id) return Union_Id;
+ pragma Inline (Field35);
+
function Node1 (N : Node_Id) return Node_Id;
pragma Inline (Node1);
@@ -2043,6 +2060,195 @@
function Flag254 (N : Node_Id) return Boolean;
pragma Inline (Flag254);
+ function Flag255 (N : Node_Id) return Boolean;
+ pragma Inline (Flag255);
+
+ function Flag256 (N : Node_Id) return Boolean;
+ pragma Inline (Flag256);
+
+ function Flag257 (N : Node_Id) return Boolean;
+ pragma Inline (Flag257);
+
+ function Flag258 (N : Node_Id) return Boolean;
+ pragma Inline (Flag258);
+
+ function Flag259 (N : Node_Id) return Boolean;
+ pragma Inline (Flag259);
+
+ function Flag260 (N : Node_Id) return Boolean;
+ pragma Inline (Flag260);
+
+ function Flag261 (N : Node_Id) return Boolean;
+ pragma Inline (Flag261);
+
+ function Flag262 (N : Node_Id) return Boolean;
+ pragma Inline (Flag262);
+
+ function Flag263 (N : Node_Id) return Boolean;
+ pragma Inline (Flag263);
+
+ function Flag264 (N : Node_Id) return Boolean;
+ pragma Inline (Flag264);
+
+ function Flag265 (N : Node_Id) return Boolean;
+ pragma Inline (Flag265);
+
+ function Flag266 (N : Node_Id) return Boolean;
+ pragma Inline (Flag266);
+
+ function Flag267 (N : Node_Id) return Boolean;
+ pragma Inline (Flag267);
+
+ function Flag268 (N : Node_Id) return Boolean;
+ pragma Inline (Flag268);
+
+ function Flag269 (N : Node_Id) return Boolean;
+ pragma Inline (Flag269);
+
+ function Flag270 (N : Node_Id) return Boolean;
+ pragma Inline (Flag270);
+
+ function Flag271 (N : Node_Id) return Boolean;
+ pragma Inline (Flag271);
+
+ function Flag272 (N : Node_Id) return Boolean;
+ pragma Inline (Flag272);
+
+ function Flag273 (N : Node_Id) return Boolean;
+ pragma Inline (Flag273);
+
+ function Flag274 (N : Node_Id) return Boolean;
+ pragma Inline (Flag274);
+
+ function Flag275 (N : Node_Id) return Boolean;
+ pragma Inline (Flag275);
+
+ function Flag276 (N : Node_Id) return Boolean;
+ pragma Inline (Flag276);
+
+ function Flag277 (N : Node_Id) return Boolean;
+ pragma Inline (Flag277);
+
+ function Flag278 (N : Node_Id) return Boolean;
+ pragma Inline (Flag278);
+
+ function Flag279 (N : Node_Id) return Boolean;
+ pragma Inline (Flag279);
+
+ function Flag280 (N : Node_Id) return Boolean;
+ pragma Inline (Flag280);
+
+ function Flag281 (N : Node_Id) return Boolean;
+ pragma Inline (Flag281);
+
+ function Flag282 (N : Node_Id) return Boolean;
+ pragma Inline (Flag282);
+
+ function Flag283 (N : Node_Id) return Boolean;
+ pragma Inline (Flag283);
+
+ function Flag284 (N : Node_Id) return Boolean;
+ pragma Inline (Flag284);
+
+ function Flag285 (N : Node_Id) return Boolean;
+ pragma Inline (Flag285);
+
+ function Flag286 (N : Node_Id) return Boolean;
+ pragma Inline (Flag286);
+
+ function Flag287 (N : Node_Id) return Boolean;
+ pragma Inline (Flag287);
+
+ function Flag288 (N : Node_Id) return Boolean;
+ pragma Inline (Flag288);
+
+ function Flag289 (N : Node_Id) return Boolean;
+ pragma Inline (Flag289);
+
+ function Flag290 (N : Node_Id) return Boolean;
+ pragma Inline (Flag290);
+
+ function Flag291 (N : Node_Id) return Boolean;
+ pragma Inline (Flag291);
+
+ function Flag292 (N : Node_Id) return Boolean;
+ pragma Inline (Flag292);
+
+ function Flag293 (N : Node_Id) return Boolean;
+ pragma Inline (Flag293);
+
+ function Flag294 (N : Node_Id) return Boolean;
+ pragma Inline (Flag294);
+
+ function Flag295 (N : Node_Id) return Boolean;
+ pragma Inline (Flag295);
+
+ function Flag296 (N : Node_Id) return Boolean;
+ pragma Inline (Flag296);
+
+ function Flag297 (N : Node_Id) return Boolean;
+ pragma Inline (Flag297);
+
+ function Flag298 (N : Node_Id) return Boolean;
+ pragma Inline (Flag298);
+
+ function Flag299 (N : Node_Id) return Boolean;
+ pragma Inline (Flag299);
+
+ function Flag300 (N : Node_Id) return Boolean;
+ pragma Inline (Flag300);
+
+ function Flag301 (N : Node_Id) return Boolean;
+ pragma Inline (Flag301);
+
+ function Flag302 (N : Node_Id) return Boolean;
+ pragma Inline (Flag302);
+
+ function Flag303 (N : Node_Id) return Boolean;
+ pragma Inline (Flag303);
+
+ function Flag304 (N : Node_Id) return Boolean;
+ pragma Inline (Flag304);
+
+ function Flag305 (N : Node_Id) return Boolean;
+ pragma Inline (Flag305);
+
+ function Flag306 (N : Node_Id) return Boolean;
+ pragma Inline (Flag306);
+
+ function Flag307 (N : Node_Id) return Boolean;
+ pragma Inline (Flag307);
+
+ function Flag308 (N : Node_Id) return Boolean;
+ pragma Inline (Flag308);
+
+ function Flag309 (N : Node_Id) return Boolean;
+ pragma Inline (Flag309);
+
+ function Flag310 (N : Node_Id) return Boolean;
+ pragma Inline (Flag310);
+
+ function Flag311 (N : Node_Id) return Boolean;
+ pragma Inline (Flag311);
+
+ function Flag312 (N : Node_Id) return Boolean;
+ pragma Inline (Flag312);
+
+ function Flag313 (N : Node_Id) return Boolean;
+ pragma Inline (Flag313);
+
+ function Flag314 (N : Node_Id) return Boolean;
+ pragma Inline (Flag314);
+
+ function Flag315 (N : Node_Id) return Boolean;
+ pragma Inline (Flag315);
+
+ function Flag316 (N : Node_Id) return Boolean;
+ pragma Inline (Flag316);
+
+ function Flag317 (N : Node_Id) return Boolean;
+ pragma Inline (Flag317);
+
-- Procedures to set value of indicated field
procedure Set_Nkind (N : Node_Id; Val : Node_Kind);
@@ -2135,6 +2341,24 @@
procedure Set_Field29 (N : Node_Id; Val : Union_Id);
pragma Inline (Set_Field29);
+ procedure Set_Field30 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field30);
+
+ procedure Set_Field31 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field31);
+
+ procedure Set_Field32 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field32);
+
+ procedure Set_Field33 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field33);
+
+ procedure Set_Field34 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field34);
+
+ procedure Set_Field35 (N : Node_Id; Val : Union_Id);
+ pragma Inline (Set_Field35);
+
procedure Set_Node1 (N : Node_Id; Val : Node_Id);
pragma Inline (Set_Node1);
@@ -3110,6 +3334,195 @@
procedure Set_Flag254 (N : Node_Id; Val : Boolean);
pragma Inline (Set_Flag254);
+ procedure Set_Flag255 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag255);
+
+ procedure Set_Flag256 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag256);
+
+ procedure Set_Flag257 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag257);
+
+ procedure Set_Flag258 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag258);
+
+ procedure Set_Flag259 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag259);
+
+ procedure Set_Flag260 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag260);
+
+ procedure Set_Flag261 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag261);
+
+ procedure Set_Flag262 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag262);
+
+ procedure Set_Flag263 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag263);
+
+ procedure Set_Flag264 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag264);
+
+ procedure Set_Flag265 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag265);
+
+ procedure Set_Flag266 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag266);
+
+ procedure Set_Flag267 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag267);
+
+ procedure Set_Flag268 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag268);
+
+ procedure Set_Flag269 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag269);
+
+ procedure Set_Flag270 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag270);
+
+ procedure Set_Flag271 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag271);
+
+ procedure Set_Flag272 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag272);
+
+ procedure Set_Flag273 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag273);
+
+ procedure Set_Flag274 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag274);
+
+ procedure Set_Flag275 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag275);
+
+ procedure Set_Flag276 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag276);
+
+ procedure Set_Flag277 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag277);
+
+ procedure Set_Flag278 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag278);
+
+ procedure Set_Flag279 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag279);
+
+ procedure Set_Flag280 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag280);
+
+ procedure Set_Flag281 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag281);
+
+ procedure Set_Flag282 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag282);
+
+ procedure Set_Flag283 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag283);
+
+ procedure Set_Flag284 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag284);
+
+ procedure Set_Flag285 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag285);
+
+ procedure Set_Flag286 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag286);
+
+ procedure Set_Flag287 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag287);
+
+ procedure Set_Flag288 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag288);
+
+ procedure Set_Flag289 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag289);
+
+ procedure Set_Flag290 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag290);
+
+ procedure Set_Flag291 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag291);
+
+ procedure Set_Flag292 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag292);
+
+ procedure Set_Flag293 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag293);
+
+ procedure Set_Flag294 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag294);
+
+ procedure Set_Flag295 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag295);
+
+ procedure Set_Flag296 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag296);
+
+ procedure Set_Flag297 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag297);
+
+ procedure Set_Flag298 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag298);
+
+ procedure Set_Flag299 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag299);
+
+ procedure Set_Flag300 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag300);
+
+ procedure Set_Flag301 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag301);
+
+ procedure Set_Flag302 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag302);
+
+ procedure Set_Flag303 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag303);
+
+ procedure Set_Flag304 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag304);
+
+ procedure Set_Flag305 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag305);
+
+ procedure Set_Flag306 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag306);
+
+ procedure Set_Flag307 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag307);
+
+ procedure Set_Flag308 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag308);
+
+ procedure Set_Flag309 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag309);
+
+ procedure Set_Flag310 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag310);
+
+ procedure Set_Flag311 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag311);
+
+ procedure Set_Flag312 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag312);
+
+ procedure Set_Flag313 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag313);
+
+ procedure Set_Flag314 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag314);
+
+ procedure Set_Flag315 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag315);
+
+ procedure Set_Flag316 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag316);
+
+ procedure Set_Flag317 (N : Node_Id; Val : Boolean);
+ pragma Inline (Set_Flag317);
+
-- The following versions of Set_Noden also set the parent pointer of
-- the referenced node if it is not Empty.
@@ -3226,32 +3639,32 @@
Flag18 : Boolean;
-- The eighteen flags for a normal node
- -- The above fields are used as follows in components 2-5 of
+ -- The above fields are used as follows in components 2-6 of
-- an extended node entry.
- -- In_List used as Flag19, Flag40, Flag129, Flag216
- -- Has_Aspects used as Flag20, Flag41, Flag130, Flag217
- -- Rewrite_Ins used as Flag21, Flag42, Flag131, Flag218
- -- Analyzed used as Flag22, Flag43, Flag132, Flag219
- -- Comes_From_Source used as Flag23, Flag44, Flag133, Flag220
- -- Error_Posted used as Flag24, Flag45, Flag134, Flag221
- -- Flag4 used as Flag25, Flag46, Flag135, Flag222
- -- Flag5 used as Flag26, Flag47, Flag136, Flag223
- -- Flag6 used as Flag27, Flag48, Flag137, Flag224
- -- Flag7 used as Flag28, Flag49, Flag138, Flag225
- -- Flag8 used as Flag29, Flag50, Flag139, Flag226
- -- Flag9 used as Flag30, Flag51, Flag140, Flag227
- -- Flag10 used as Flag31, Flag52, Flag141, Flag228
- -- Flag11 used as Flag32, Flag53, Flag142, Flag229
- -- Flag12 used as Flag33, Flag54, Flag143, Flag230
- -- Flag13 used as Flag34, Flag55, Flag144, Flag231
- -- Flag14 used as Flag35, Flag56, Flag145, Flag232
- -- Flag15 used as Flag36, Flag57, Flag146, Flag233
- -- Flag16 used as Flag37, Flag58, Flag147, Flag234
- -- Flag17 used as Flag38, Flag59, Flag148, Flag235
- -- Flag18 used as Flag39, Flag60, Flag149, Flag236
- -- Pflag1 used as Flag61, Flag62, Flag150, Flag237
- -- Pflag2 used as Flag63, Flag64, Flag151, Flag238
+ -- In_List used as Flag19,Flag40,Flag129,Flag216,Flag287
+ -- Has_Aspects used as Flag20,Flag41,Flag130,Flag217,Flag288
+ -- Rewrite_Ins used as Flag21,Flag42,Flag131,Flag218,Flag289
+ -- Analyzed used as Flag22,Flag43,Flag132,Flag219,Flag290
+ -- Comes_From_Source used as Flag23,Flag44,Flag133,Flag220,Flag291
+ -- Error_Posted used as Flag24,Flag45,Flag134,Flag221,Flag292
+ -- Flag4 used as Flag25,Flag46,Flag135,Flag222,Flag293
+ -- Flag5 used as Flag26,Flag47,Flag136,Flag223,Flag294
+ -- Flag6 used as Flag27,Flag48,Flag137,Flag224,Flag295
+ -- Flag7 used as Flag28,Flag49,Flag138,Flag225,Flag296
+ -- Flag8 used as Flag29,Flag50,Flag139,Flag226,Flag297
+ -- Flag9 used as Flag30,Flag51,Flag140,Flag227,Flag298
+ -- Flag10 used as Flag31,Flag52,Flag141,Flag228,Flag299
+ -- Flag11 used as Flag32,Flag53,Flag142,Flag229,Flag300
+ -- Flag12 used as Flag33,Flag54,Flag143,Flag230,Flag301
+ -- Flag13 used as Flag34,Flag55,Flag144,Flag231,Flag302
+ -- Flag14 used as Flag35,Flag56,Flag145,Flag232,Flag303
+ -- Flag15 used as Flag36,Flag57,Flag146,Flag233,Flag304
+ -- Flag16 used as Flag37,Flag58,Flag147,Flag234,Flag305
+ -- Flag17 used as Flag38,Flag59,Flag148,Flag235,Flag306
+ -- Flag18 used as Flag39,Flag60,Flag149,Flag236,Flag307
+ -- Pflag1 used as Flag61,Flag62,Flag150,Flag237,Flag308
+ -- Pflag2 used as Flag63,Flag64,Flag151,Flag238,Flag309
Nkind : Node_Kind;
-- For a non-extended node, or the initial section of an extended
@@ -3262,6 +3675,7 @@
-- Third entry: holds 8 additional flags (Flag65-Flag72)
-- Fourth entry: holds 8 additional flags (Flag239-246)
-- Fifth entry: holds 8 additional flags (Flag247-254)
+ -- Sixth entry: holds 8 additional flags (Flag310-317)
-- Now finally (on an 32-bit boundary!) comes the variant part
@@ -3327,6 +3741,13 @@
-- Field6-11 Holds Field24-Field29
-- Field12 Holds Flag184-Flag215
+ -- In the sixth component, the extension format as described
+ -- above is used to hold additional general fields and flags
+ -- as follows:
+
+ -- Field6-11 Holds Field30-Field35
+ -- Field12 Holds Flag255-Flag286
+
end case;
end record;
@@ -3380,10 +3801,10 @@
Field5 => Empty_List_Or_Node);
-- Default value used to initialize node extensions (i.e. the second
- -- and third and fourth components of an extended node). Note we are
- -- cheating a bit here when it comes to Node12, which really holds
- -- flags an (for the third component), the convention. But it works
- -- because Empty, False, Convention_Ada, all happen to be all zero bits.
+ -- through sixth components of an extended node). Note we are cheating
+ -- a bit here when it comes to Node12, which really holds flags and (for
+ -- the third component), the convention. But it works because Empty,
+ -- False, Convention_Ada, all happen to be all zero bits.
Default_Node_Extension : constant Node_Record := (
Is_Extension => True,