From c1c622444a4b6b8ba6202a65ecb069b80fec23cc Mon Sep 17 00:00:00 2001 From: charlet Date: Mon, 11 Oct 2010 06:59:29 +0000 Subject: [PATCH] 2010-10-11 Robert Dewar * sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting 2010-10-11 Robert Dewar * einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags Flag248-Flag254. Define new field Field29. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165271 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 9 + gcc/ada/atree.adb | 565 +++++++++++++++++++++++++++++----------------------- gcc/ada/atree.ads | 110 +++++++--- gcc/ada/atree.h | 189 ++++++++---------- gcc/ada/einfo.adb | 10 + gcc/ada/sem_aux.adb | 5 +- gcc/ada/sem_ch3.adb | 19 +- gcc/ada/sem_ch6.adb | 3 +- 8 files changed, 517 insertions(+), 393 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 376a8af..e8132ab 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2010-10-11 Robert Dewar + + * sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting + +2010-10-11 Robert Dewar + + * einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags + Flag248-Flag254. Define new field Field29. + 2010-10-10 Olivier Hainque Eric Botcazou diff --git a/gcc/ada/atree.adb b/gcc/ada/atree.adb index 6e01d7e..5073874 100644 --- a/gcc/ada/atree.adb +++ b/gcc/ada/atree.adb @@ -154,6 +154,56 @@ package body Atree is 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 73-96 and the -- Convention field in the Field12 field of the third component of an -- extended (Entity) node. @@ -309,7 +359,7 @@ package body Atree is Unchecked_Conversion (Union_Id_Ptr, Flag_Word3_Ptr); -- The following declarations are used to store flags 184-215 in the - -- Field11 field of the fifth component of an extended (entity) node. + -- Field12 field of the fifth component of an extended (entity) node. type Flag_Word4 is record Flag184 : Boolean; @@ -361,59 +411,6 @@ package body Atree is function To_Flag_Word4_Ptr is new Unchecked_Conversion (Union_Id_Ptr, Flag_Word4_Ptr); - -- The following declarations are used to store flags 216-247 in the - -- Field12 field of the fifth component of an extended (entity) node. - - type Flag_Word5 is record - Flag216 : Boolean; - Flag217 : Boolean; - Flag218 : Boolean; - Flag219 : Boolean; - Flag220 : Boolean; - Flag221 : Boolean; - Flag222 : Boolean; - Flag223 : Boolean; - - Flag224 : Boolean; - Flag225 : Boolean; - Flag226 : Boolean; - Flag227 : Boolean; - Flag228 : Boolean; - Flag229 : Boolean; - Flag230 : Boolean; - Flag231 : Boolean; - - Flag232 : Boolean; - Flag233 : Boolean; - Flag234 : Boolean; - Flag235 : Boolean; - Flag236 : Boolean; - Flag237 : Boolean; - Flag238 : Boolean; - Flag239 : Boolean; - - Flag240 : Boolean; - Flag241 : Boolean; - Flag242 : Boolean; - Flag243 : Boolean; - Flag244 : Boolean; - Flag245 : Boolean; - Flag246 : Boolean; - Flag247 : 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 -- -------------------------------------------------- @@ -2141,6 +2138,12 @@ package body Atree is 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 Node1 (N : Node_Id) return Node_Id is begin pragma Assert (N <= Nodes.Last); @@ -2309,6 +2312,12 @@ package body Atree is 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 List1 (N : Node_Id) return List_Id is begin pragma Assert (N <= Nodes.Last); @@ -3778,387 +3787,429 @@ package body Atree is function Flag184 (N : Node_Id) return Boolean is begin pragma Assert (Nkind (N) in N_Entity); - return To_Flag_Word4 (Nodes.Table (N + 4).Field11).Flag184; + 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).Field11).Flag185; + 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).Field11).Flag186; + 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).Field11).Flag187; + 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).Field11).Flag188; + 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).Field11).Flag189; + 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).Field11).Flag190; + 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).Field11).Flag191; + 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).Field11).Flag192; + 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).Field11).Flag193; + 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).Field11).Flag194; + 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).Field11).Flag195; + 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).Field11).Flag196; + 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).Field11).Flag197; + 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).Field11).Flag198; + 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).Field11).Flag199; + 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).Field11).Flag200; + 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).Field11).Flag201; + 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).Field11).Flag202; + 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).Field11).Flag203; + 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).Field11).Flag204; + 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).Field11).Flag205; + 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).Field11).Flag206; + 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).Field11).Flag207; + 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).Field11).Flag208; + 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).Field11).Flag209; + 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).Field11).Flag210; + 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).Field11).Flag211; + 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).Field11).Flag212; + 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).Field11).Flag213; + 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).Field11).Flag214; + 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).Field11).Flag215; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag216; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag217; + return Nodes.Table (N + 4).Unused_1; end Flag217; function Flag218 (N : Node_Id) return Boolean is begin pragma Assert (Nkind (N) in N_Entity); - return To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag218; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag219; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag220; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag221; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag222; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag223; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag224; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag225; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag226; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag227; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag228; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag229; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag230; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag231; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag232; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag233; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag234; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag235; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag236; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag237; + 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 To_Flag_Word5 (Nodes.Table (N + 4).Field12).Flag238; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag239; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag240; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag241; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag242; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag243; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag244; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag245; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag246; + 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_Word5 (Nodes.Table (N + 4).Field12).Flag247; + 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; + procedure Set_Nkind (N : Node_Id; Val : Node_Kind) is begin pragma Assert (N <= Nodes.Last); @@ -4333,6 +4384,12 @@ package body Atree is Nodes.Table (N + 4).Field10 := Val; end Set_Field28; + procedure Set_Field29 (N : Node_Id; Val : Union_Id) is + begin + pragma Assert (Nkind (N) in N_Entity); + Nodes.Table (N + 4).Field11 := Val; + end Set_Field29; + procedure Set_Node1 (N : Node_Id; Val : Node_Id) is begin pragma Assert (N <= Nodes.Last); @@ -4501,6 +4558,12 @@ package body Atree is Nodes.Table (N + 4).Field10 := Union_Id (Val); end Set_Node28; + procedure Set_Node29 (N : Node_Id; Val : Node_Id) is + begin + pragma Assert (Nkind (N) in N_Entity); + Nodes.Table (N + 4).Field11 := Union_Id (Val); + end Set_Node29; + procedure Set_List1 (N : Node_Id; Val : List_Id) is begin pragma Assert (N <= Nodes.Last); @@ -6020,7 +6083,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag184 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag184 := Val; end Set_Flag184; procedure Set_Flag185 (N : Node_Id; Val : Boolean) is @@ -6028,7 +6091,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag185 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag185 := Val; end Set_Flag185; procedure Set_Flag186 (N : Node_Id; Val : Boolean) is @@ -6036,7 +6099,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag186 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag186 := Val; end Set_Flag186; procedure Set_Flag187 (N : Node_Id; Val : Boolean) is @@ -6044,7 +6107,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag187 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag187 := Val; end Set_Flag187; procedure Set_Flag188 (N : Node_Id; Val : Boolean) is @@ -6052,7 +6115,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag188 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag188 := Val; end Set_Flag188; procedure Set_Flag189 (N : Node_Id; Val : Boolean) is @@ -6060,7 +6123,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag189 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag189 := Val; end Set_Flag189; procedure Set_Flag190 (N : Node_Id; Val : Boolean) is @@ -6068,7 +6131,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag190 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag190 := Val; end Set_Flag190; procedure Set_Flag191 (N : Node_Id; Val : Boolean) is @@ -6076,7 +6139,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag191 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag191 := Val; end Set_Flag191; procedure Set_Flag192 (N : Node_Id; Val : Boolean) is @@ -6084,7 +6147,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag192 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag192 := Val; end Set_Flag192; procedure Set_Flag193 (N : Node_Id; Val : Boolean) is @@ -6092,7 +6155,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag193 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag193 := Val; end Set_Flag193; procedure Set_Flag194 (N : Node_Id; Val : Boolean) is @@ -6100,7 +6163,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag194 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag194 := Val; end Set_Flag194; procedure Set_Flag195 (N : Node_Id; Val : Boolean) is @@ -6108,7 +6171,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag195 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag195 := Val; end Set_Flag195; procedure Set_Flag196 (N : Node_Id; Val : Boolean) is @@ -6116,7 +6179,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag196 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag196 := Val; end Set_Flag196; procedure Set_Flag197 (N : Node_Id; Val : Boolean) is @@ -6124,7 +6187,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag197 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag197 := Val; end Set_Flag197; procedure Set_Flag198 (N : Node_Id; Val : Boolean) is @@ -6132,7 +6195,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag198 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag198 := Val; end Set_Flag198; procedure Set_Flag199 (N : Node_Id; Val : Boolean) is @@ -6140,7 +6203,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag199 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag199 := Val; end Set_Flag199; procedure Set_Flag200 (N : Node_Id; Val : Boolean) is @@ -6148,7 +6211,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag200 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag200 := Val; end Set_Flag200; procedure Set_Flag201 (N : Node_Id; Val : Boolean) is @@ -6156,7 +6219,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag201 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag201 := Val; end Set_Flag201; procedure Set_Flag202 (N : Node_Id; Val : Boolean) is @@ -6164,7 +6227,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag202 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag202 := Val; end Set_Flag202; procedure Set_Flag203 (N : Node_Id; Val : Boolean) is @@ -6172,7 +6235,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag203 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag203 := Val; end Set_Flag203; procedure Set_Flag204 (N : Node_Id; Val : Boolean) is @@ -6180,7 +6243,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag204 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag204 := Val; end Set_Flag204; procedure Set_Flag205 (N : Node_Id; Val : Boolean) is @@ -6188,7 +6251,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag205 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag205 := Val; end Set_Flag205; procedure Set_Flag206 (N : Node_Id; Val : Boolean) is @@ -6196,7 +6259,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag206 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag206 := Val; end Set_Flag206; procedure Set_Flag207 (N : Node_Id; Val : Boolean) is @@ -6204,7 +6267,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag207 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag207 := Val; end Set_Flag207; procedure Set_Flag208 (N : Node_Id; Val : Boolean) is @@ -6212,7 +6275,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag208 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag208 := Val; end Set_Flag208; procedure Set_Flag209 (N : Node_Id; Val : Boolean) is @@ -6220,7 +6283,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag209 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag209 := Val; end Set_Flag209; procedure Set_Flag210 (N : Node_Id; Val : Boolean) is @@ -6228,7 +6291,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag210 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag210 := Val; end Set_Flag210; procedure Set_Flag211 (N : Node_Id; Val : Boolean) is @@ -6236,7 +6299,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag211 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag211 := Val; end Set_Flag211; procedure Set_Flag212 (N : Node_Id; Val : Boolean) is @@ -6244,7 +6307,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag212 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag212 := Val; end Set_Flag212; procedure Set_Flag213 (N : Node_Id; Val : Boolean) is @@ -6252,7 +6315,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag213 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag213 := Val; end Set_Flag213; procedure Set_Flag214 (N : Node_Id; Val : Boolean) is @@ -6260,7 +6323,7 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag214 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag214 := Val; end Set_Flag214; procedure Set_Flag215 (N : Node_Id; Val : Boolean) is @@ -6268,265 +6331,275 @@ package body Atree is pragma Assert (Nkind (N) in N_Entity); To_Flag_Word4_Ptr (Union_Id_Ptr' - (Nodes.Table (N + 4).Field11'Unrestricted_Access)).Flag215 := Val; + (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag215 := Val; end Set_Flag215; procedure Set_Flag216 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag216 := Val; + Nodes.Table (N + 4).In_List := Val; end Set_Flag216; procedure Set_Flag217 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag217 := Val; + Nodes.Table (N + 4).Unused_1 := Val; end Set_Flag217; procedure Set_Flag218 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag218 := Val; + Nodes.Table (N + 4).Rewrite_Ins := Val; end Set_Flag218; procedure Set_Flag219 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag219 := Val; + Nodes.Table (N + 4).Analyzed := Val; end Set_Flag219; procedure Set_Flag220 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag220 := Val; + Nodes.Table (N + 4).Comes_From_Source := Val; end Set_Flag220; procedure Set_Flag221 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag221 := Val; + Nodes.Table (N + 4).Error_Posted := Val; end Set_Flag221; procedure Set_Flag222 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag222 := Val; + Nodes.Table (N + 4).Flag4 := Val; end Set_Flag222; procedure Set_Flag223 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag223 := Val; + Nodes.Table (N + 4).Flag5 := Val; end Set_Flag223; procedure Set_Flag224 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag224 := Val; + Nodes.Table (N + 4).Flag6 := Val; end Set_Flag224; procedure Set_Flag225 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag225 := Val; + Nodes.Table (N + 4).Flag7 := Val; end Set_Flag225; procedure Set_Flag226 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag226 := Val; + Nodes.Table (N + 4).Flag8 := Val; end Set_Flag226; procedure Set_Flag227 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag227 := Val; + Nodes.Table (N + 4).Flag9 := Val; end Set_Flag227; procedure Set_Flag228 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag228 := Val; + Nodes.Table (N + 4).Flag10 := Val; end Set_Flag228; procedure Set_Flag229 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag229 := Val; + Nodes.Table (N + 4).Flag11 := Val; end Set_Flag229; procedure Set_Flag230 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag230 := Val; + Nodes.Table (N + 4).Flag12 := Val; end Set_Flag230; procedure Set_Flag231 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag231 := Val; + Nodes.Table (N + 4).Flag13 := Val; end Set_Flag231; procedure Set_Flag232 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag232 := Val; + Nodes.Table (N + 4).Flag14 := Val; end Set_Flag232; procedure Set_Flag233 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag233 := Val; + Nodes.Table (N + 4).Flag15 := Val; end Set_Flag233; procedure Set_Flag234 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag234 := Val; + Nodes.Table (N + 4).Flag16 := Val; end Set_Flag234; procedure Set_Flag235 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag235 := Val; + Nodes.Table (N + 4).Flag17 := Val; end Set_Flag235; procedure Set_Flag236 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag236 := Val; + Nodes.Table (N + 4).Flag18 := Val; end Set_Flag236; procedure Set_Flag237 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag237 := Val; + Nodes.Table (N + 4).Pflag1 := Val; end Set_Flag237; procedure Set_Flag238 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag238 := Val; + Nodes.Table (N + 4).Pflag2 := Val; end Set_Flag238; procedure Set_Flag239 (N : Node_Id; Val : Boolean) is begin pragma Assert (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag239 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag240 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag241 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag242 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag243 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag244 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag245 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag246 := Val; + 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 (Nkind (N) in N_Entity); - To_Flag_Word5_Ptr - (Union_Id_Ptr' - (Nodes.Table (N + 4).Field12'Unrestricted_Access)).Flag247 := Val; + 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 (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 (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 (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 (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 (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 (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 (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_Node1_With_Parent (N : Node_Id; Val : Node_Id) is begin pragma Assert (N <= Nodes.Last); diff --git a/gcc/ada/atree.ads b/gcc/ada/atree.ads index 11787bc..8a1ae47 100644 --- a/gcc/ada/atree.ads +++ b/gcc/ada/atree.ads @@ -981,6 +981,9 @@ package Atree is function Field28 (N : Node_Id) return Union_Id; pragma Inline (Field28); + function Field29 (N : Node_Id) return Union_Id; + pragma Inline (Field29); + function Node1 (N : Node_Id) return Node_Id; pragma Inline (Node1); @@ -1065,6 +1068,9 @@ package Atree is function Node28 (N : Node_Id) return Node_Id; pragma Inline (Node28); + function Node29 (N : Node_Id) return Node_Id; + pragma Inline (Node29); + function List1 (N : Node_Id) return List_Id; pragma Inline (List1); @@ -1925,6 +1931,27 @@ package Atree is function Flag247 (N : Node_Id) return Boolean; pragma Inline (Flag247); + function Flag248 (N : Node_Id) return Boolean; + pragma Inline (Flag248); + + function Flag249 (N : Node_Id) return Boolean; + pragma Inline (Flag249); + + function Flag250 (N : Node_Id) return Boolean; + pragma Inline (Flag250); + + function Flag251 (N : Node_Id) return Boolean; + pragma Inline (Flag251); + + function Flag252 (N : Node_Id) return Boolean; + pragma Inline (Flag252); + + function Flag253 (N : Node_Id) return Boolean; + pragma Inline (Flag253); + + function Flag254 (N : Node_Id) return Boolean; + pragma Inline (Flag254); + -- Procedures to set value of indicated field procedure Set_Nkind (N : Node_Id; Val : Node_Kind); @@ -2014,6 +2041,9 @@ package Atree is procedure Set_Field28 (N : Node_Id; Val : Union_Id); pragma Inline (Set_Field28); + procedure Set_Field29 (N : Node_Id; Val : Union_Id); + pragma Inline (Set_Field29); + procedure Set_Node1 (N : Node_Id; Val : Node_Id); pragma Inline (Set_Node1); @@ -2098,6 +2128,9 @@ package Atree is procedure Set_Node28 (N : Node_Id; Val : Node_Id); pragma Inline (Set_Node28); + procedure Set_Node29 (N : Node_Id; Val : Node_Id); + pragma Inline (Set_Node29); + procedure Set_List1 (N : Node_Id; Val : List_Id); pragma Inline (Set_List1); @@ -2953,6 +2986,27 @@ package Atree is procedure Set_Flag247 (N : Node_Id; Val : Boolean); pragma Inline (Set_Flag247); + procedure Set_Flag248 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag248); + + procedure Set_Flag249 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag249); + + procedure Set_Flag250 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag250); + + procedure Set_Flag251 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag251); + + procedure Set_Flag252 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag252); + + procedure Set_Flag253 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag253); + + procedure Set_Flag254 (N : Node_Id; Val : Boolean); + pragma Inline (Set_Flag254); + -- The following versions of Set_Noden also set the parent -- pointer of the referenced node if it is non_Empty @@ -3069,33 +3123,33 @@ package Atree is Flag18 : Boolean; -- The eighteen flags for a normal node - -- The above fields are used as follows in components 2-4 of + -- The above fields are used as follows in components 2-5 of -- an extended node entry. These fields are not currently -- used in component 5 (where we still have lots of room!) - -- In_List used as Flag19, Flag40, Flag129 - -- Unused_1 used as Flag20, Flag41, Flag130 - -- Rewrite_Ins used as Flag21, Flag42, Flag131 - -- Analyzed used as Flag22, Flag43, Flag132 - -- Comes_From_Source used as Flag23, Flag44, Flag133 - -- Error_Posted used as Flag24, Flag45, Flag134 - -- Flag4 used as Flag25, Flag46, Flag135 - -- Flag5 used as Flag26, Flag47, Flag136 - -- Flag6 used as Flag27, Flag48, Flag137 - -- Flag7 used as Flag28, Flag49, Flag138 - -- Flag8 used as Flag29, Flag50, Flag139 - -- Flag9 used as Flag30, Flag51, Flag140 - -- Flag10 used as Flag31, Flag52, Flag141 - -- Flag11 used as Flag32, Flag53, Flag142 - -- Flag12 used as Flag33, Flag54, Flag143 - -- Flag13 used as Flag34, Flag55, Flag144 - -- Flag14 used as Flag35, Flag56, Flag145 - -- Flag15 used as Flag36, Flag57, Flag146 - -- Flag16 used as Flag37, Flag58, Flag147 - -- Flag17 used as Flag38, Flag59, Flag148 - -- Flag18 used as Flag39, Flag60, Flag149 - -- Pflag1 used as Flag61, Flag62, Flag150 - -- Pflag2 used as Flag63, Flag64, Flag151 + -- In_List used as Flag19, Flag40, Flag129, Flag216 + -- Unused_1 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 Nkind : Node_Kind; -- For a non-extended node, or the initial section of an extended @@ -3104,7 +3158,8 @@ package Atree is -- -- Second entry: holds the Ekind field of the entity -- Third entry: holds 8 additional flags (Flag65-Flag72) - -- Fourth entry: not currently used + -- Fourth entry: holds 8 additional flags (Flag239-246) + -- Fifth entry: holds 8 additional flags (Flag247-254) -- Now finally (on an 32-bit boundary!) comes the variant part @@ -3167,9 +3222,8 @@ package Atree is -- above is used to hold additional general fields and flags -- as follows: - -- Field6-10 Holds Field24-Field28 - -- Field11 Holds Flag184-Flag215 - -- Field12 Holds Flag216-Flag247 + -- Field6-11 Holds Field24-Field29 + -- Field12 Holds Flag184-Flag215 end case; end record; diff --git a/gcc/ada/atree.h b/gcc/ada/atree.h index 7ad985d..6b59451 100644 --- a/gcc/ada/atree.h +++ b/gcc/ada/atree.h @@ -6,7 +6,7 @@ * * * C Header File * * * - * Copyright (C) 1992-2008, Free Software Foundation, Inc. * + * Copyright (C) 1992-2010, 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- * @@ -215,7 +215,7 @@ struct Flag_Word3 Boolean flag183 : 1; }; -/* Structure used for extra flags in fifth component overlaying Field11 */ +/* Structure used for extra flags in fifth component overlaying Field12 */ struct Flag_Word4 { Boolean flag184 : 1; @@ -255,46 +255,6 @@ struct Flag_Word4 Boolean flag215 : 1; }; -/* Structure used for extra flags in fifth component overlaying Field12 */ -struct Flag_Word5 -{ - Boolean flag216 : 1; - Boolean flag217 : 1; - Boolean flag218 : 1; - Boolean flag219 : 1; - Boolean flag220 : 1; - Boolean flag221 : 1; - Boolean flag222 : 1; - Boolean flag223 : 1; - - Boolean flag224 : 1; - Boolean flag225 : 1; - Boolean flag226 : 1; - Boolean flag227 : 1; - Boolean flag228 : 1; - Boolean flag229 : 1; - Boolean flag230 : 1; - Boolean flag231 : 1; - - Boolean flag232 : 1; - Boolean flag233 : 1; - Boolean flag234 : 1; - Boolean flag235 : 1; - Boolean flag236 : 1; - Boolean flag237 : 1; - Boolean flag238 : 1; - Boolean flag239 : 1; - - Boolean flag240 : 1; - Boolean flag241 : 1; - Boolean flag242 : 1; - Boolean flag243 : 1; - Boolean flag244 : 1; - Boolean flag245 : 1; - Boolean flag246 : 1; - Boolean flag247 : 1; -}; - struct Non_Extended { Source_Ptr sloc; @@ -318,7 +278,6 @@ struct Extended { Int field11; struct Flag_Word3 fw3; - struct Flag_Word4 fw4; } X; union @@ -326,7 +285,7 @@ struct Extended Int field12; struct Flag_Word fw; struct Flag_Word2 fw2; - struct Flag_Word5 fw5; + struct Flag_Word4 fw4; } U; }; @@ -423,6 +382,7 @@ extern Node_Id Current_Error_Node; #define Field26(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field8) #define Field27(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field9) #define Field28(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field10) +#define Field29(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field11) #define Node1(N) Field1 (N) #define Node2(N) Field2 (N) @@ -452,6 +412,7 @@ extern Node_Id Current_Error_Node; #define Node26(N) Field26 (N) #define Node27(N) Field27 (N) #define Node28(N) Field28 (N) +#define Node29(N) Field29 (N) #define List1(N) Field1 (N) #define List2(N) Field2 (N) @@ -695,68 +656,78 @@ extern Node_Id Current_Error_Node; #define Flag182(N) (Nodes_Ptr[(N) - First_Node_Id + 3].V.EX.X.fw3.flag182) #define Flag183(N) (Nodes_Ptr[(N) - First_Node_Id + 3].V.EX.X.fw3.flag183) -#define Flag184(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag184) -#define Flag185(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag185) -#define Flag186(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag186) -#define Flag187(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag187) -#define Flag188(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag188) -#define Flag189(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag189) -#define Flag190(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag190) -#define Flag191(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag191) -#define Flag192(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag192) -#define Flag193(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag193) -#define Flag194(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag194) -#define Flag195(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag195) -#define Flag196(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag196) -#define Flag197(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag197) -#define Flag198(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag198) -#define Flag199(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag199) -#define Flag200(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag200) -#define Flag201(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag201) -#define Flag202(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag202) -#define Flag203(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag203) -#define Flag204(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag204) -#define Flag205(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag205) -#define Flag206(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag206) -#define Flag207(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag207) -#define Flag208(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag208) -#define Flag209(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag209) -#define Flag210(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag210) -#define Flag211(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag211) -#define Flag212(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag212) -#define Flag213(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag213) -#define Flag214(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag214) -#define Flag215(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.X.fw4.flag215) - -#define Flag216(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag216) -#define Flag217(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag217) -#define Flag218(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag218) -#define Flag219(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag219) -#define Flag220(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag220) -#define Flag221(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag221) -#define Flag222(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag222) -#define Flag223(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag223) -#define Flag224(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag224) -#define Flag225(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag225) -#define Flag226(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag226) -#define Flag227(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag227) -#define Flag228(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag228) -#define Flag229(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag229) -#define Flag230(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag230) -#define Flag231(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag231) -#define Flag232(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag232) -#define Flag233(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag233) -#define Flag234(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag234) -#define Flag235(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag235) -#define Flag236(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag236) -#define Flag237(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag237) -#define Flag238(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag238) -#define Flag239(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag239) -#define Flag240(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag240) -#define Flag241(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag241) -#define Flag242(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag242) -#define Flag243(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag243) -#define Flag244(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag244) -#define Flag245(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag245) -#define Flag246(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag246) -#define Flag247(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw5.flag247) +#define Flag184(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag184) +#define Flag185(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag185) +#define Flag186(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag186) +#define Flag187(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag187) +#define Flag188(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag188) +#define Flag189(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag189) +#define Flag190(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag190) +#define Flag191(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag191) +#define Flag192(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag192) +#define Flag193(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag193) +#define Flag194(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag194) +#define Flag195(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag195) +#define Flag196(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag196) +#define Flag197(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag197) +#define Flag198(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag198) +#define Flag199(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag199) +#define Flag200(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag200) +#define Flag201(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag201) +#define Flag202(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag202) +#define Flag203(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag203) +#define Flag204(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag204) +#define Flag205(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag205) +#define Flag206(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag206) +#define Flag207(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag207) +#define Flag208(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag208) +#define Flag209(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag209) +#define Flag210(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag210) +#define Flag211(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag211) +#define Flag212(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag212) +#define Flag213(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag213) +#define Flag214(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag214) +#define Flag215(N) (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.U.fw4.flag215) + +#define Flag216(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.in_list) +#define Flag217(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.rewrite_sub) +#define Flag218(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.rewrite_ins) +#define Flag219(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.analyzed) +#define Flag220(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.c_f_s) +#define Flag221(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.error_posted) +#define Flag222(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag4) +#define Flag223(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag5) +#define Flag224(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag6) +#define Flag225(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag7) +#define Flag226(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag8) +#define Flag227(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag9) +#define Flag228(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag10) +#define Flag229(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag11) +#define Flag230(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag12) +#define Flag231(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag13) +#define Flag232(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag14) +#define Flag233(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag15) +#define Flag234(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag16) +#define Flag235(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag17) +#define Flag236(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.flag18) +#define Flag237(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.pflag1) +#define Flag238(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.K.pflag2) + +#define Flag239(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag65) +#define Flag240(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag66) +#define Flag241(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag67) +#define Flag242(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag68) +#define Flag243(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag69) +#define Flag244(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag70) +#define Flag245(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag71) +#define Flag246(N) (Nodes_Ptr[(N) - First_Node_Id + 3].U.NK.flag72) + +#define Flag247(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag65) +#define Flag248(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag66) +#define Flag249(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag67) +#define Flag250(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag68) +#define Flag251(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag69) +#define Flag252(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag70) +#define Flag253(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag71) +#define Flag254(N) (Nodes_Ptr[(N) - First_Node_Id + 4].U.NK.flag72) + diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 7ec3f8d..1928c94 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -230,6 +230,8 @@ package body Einfo is -- Extra_Formals Node28 -- Underlying_Record_View Node28 + -- (unused) Node29 + --------------------------------------------- -- Usage of Flags in Defining Entity Nodes -- --------------------------------------------- @@ -513,6 +515,14 @@ package body Einfo is -- (unused) Flag200 -- (unused) Flag232 + -- (unused) Flag248 + -- (unused) Flag249 + -- (unused) Flag250 + -- (unused) Flag251 + -- (unused) Flag252 + -- (unused) Flag253 + -- (unused) Flag254 + ----------------------- -- Local subprograms -- ----------------------- diff --git a/gcc/ada/sem_aux.adb b/gcc/ada/sem_aux.adb index bfe57f0..b670d43 100755 --- a/gcc/ada/sem_aux.adb +++ b/gcc/ada/sem_aux.adb @@ -585,8 +585,9 @@ package body Sem_Aux is end if; if Is_Private_Type (Btype) then - -- AI05-0063 : a type derived from a limited private formal type - -- is not immutably limited in a generic body. + + -- AI05-0063: A type derived from a limited private formal type is + -- not immutably limited in a generic body. if Is_Derived_Type (Btype) and then Is_Generic_Type (Etype (Btype)) diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index d8491ba..145c743 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -8795,13 +8795,20 @@ package body Sem_Ch3 is -- with the reserved word 'limited' in its definition or in one of its -- ancestors. (RM 3.7(10)) -- AI-0063 : the proper condition is that type must be immutably - -- limited. + -- limited, or else be a partial view. - if Nkind (Discriminant_Type (D)) = N_Access_Definition - and then not Is_Immutably_Limited_Type (Current_Scope) - then - Error_Msg_N - ("access discriminants allowed only for limited types", Loc); + if Nkind (Discriminant_Type (D)) = N_Access_Definition then + if Is_Immutably_Limited_Type (Current_Scope) + or else + (Nkind (Parent (Current_Scope)) = N_Private_Type_Declaration + and then Limited_Present (Parent (Current_Scope))) + then + null; + + else + Error_Msg_N + ("access discriminants allowed only for limited types", Loc); + end if; end if; end Check_Access_Discriminant_Requires_Limited; diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb index 5de59cb..6957ed2 100644 --- a/gcc/ada/sem_ch6.adb +++ b/gcc/ada/sem_ch6.adb @@ -483,6 +483,7 @@ package body Sem_Ch6 is Error_Msg_N ("(Ada 2005) cannot copy object of a limited type " & "(RM-2005 6.5(5.5/2))", Expr); + if Is_Immutably_Limited_Type (R_Type) then Error_Msg_N ("\return by reference not permitted in Ada 2005", Expr); @@ -4254,11 +4255,9 @@ package body Sem_Ch6 is declare Typ : constant Entity_Id := Etype (Designator); Utyp : constant Entity_Id := Underlying_Type (Typ); - begin if Is_Immutably_Limited_Type (Typ) then Set_Returns_By_Ref (Designator); - elsif Present (Utyp) and then CW_Or_Has_Controlled_Part (Utyp) then Set_Returns_By_Ref (Designator); end if; -- 2.7.4