From e9559decc68753387914528e72b46db5be13226b Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 3 May 2021 21:05:59 -0400 Subject: [PATCH] [Ada] Add Void_Or_Type_Kind and Exception_Or_Object_Kind gcc/ada/ * gen_il-types.ads (Void_Or_Type_Kind, Exception_Or_Object_Kind): Declare. * gen_il-gen-gen_entities.adb: Likewise. --- gcc/ada/gen_il-gen-gen_entities.adb | 12 ++++++++---- gcc/ada/gen_il-types.ads | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ada/gen_il-gen-gen_entities.adb b/gcc/ada/gen_il-gen-gen_entities.adb index 9538a74..1c6a518 100644 --- a/gcc/ada/gen_il-gen-gen_entities.adb +++ b/gcc/ada/gen_il-gen-gen_entities.adb @@ -238,7 +238,9 @@ begin -- Gen_IL.Gen.Gen_Entities Sm (Warnings_Off_Used_Unreferenced, Flag), Sm (Was_Hidden, Flag))); - Cc (E_Void, Entity_Kind, + Ab (Void_Or_Type_Kind, Entity_Kind); + + Cc (E_Void, Void_Or_Type_Kind, -- The initial Ekind value for a newly created entity. Also used as the -- Ekind for Standard_Void_Type, a type entity in Standard used as a -- dummy type for the return type of a procedure (the reason we create @@ -300,7 +302,9 @@ begin -- Gen_IL.Gen.Gen_Entities -- but not getters; the Ekind is modified before any such getters are -- called. - Ab (Object_Kind, Entity_Kind, + Ab (Exception_Or_Object_Kind, Entity_Kind); + + Ab (Object_Kind, Exception_Or_Object_Kind, (Sm (Current_Value, Node_Id), Sm (Renamed_Or_Alias, Node_Id))); @@ -452,7 +456,7 @@ begin -- Gen_IL.Gen.Gen_Entities Cc (E_Named_Real, Named_Kind); -- Named numbers created by a number declaration with a real value - Ab (Type_Kind, Entity_Kind, + Ab (Type_Kind, Void_Or_Type_Kind, (Sm (Alignment, Uint), Sm (Associated_Node_For_Itype, Node_Id), Sm (Can_Use_Internal_Rep, Flag, Base_Type_Only, @@ -1177,7 +1181,7 @@ begin -- Gen_IL.Gen.Gen_Entities -- for the body of a protected entry family. (Sm (Entry_Index_Constant, Node_Id))); - Cc (E_Exception, Entity_Kind, + Cc (E_Exception, Exception_Or_Object_Kind, -- An exception created by an exception declaration. The exception -- itself uses E_Exception for the Ekind, the implicit type that is -- created to represent its type uses the Ekind E_Exception_Type. diff --git a/gcc/ada/gen_il-types.ads b/gcc/ada/gen_il-types.ads index 6850411..84eb63f 100644 --- a/gcc/ada/gen_il-types.ads +++ b/gcc/ada/gen_il-types.ads @@ -140,6 +140,7 @@ package Gen_IL.Types is Elementary_Kind, Enumeration_Kind, Entry_Kind, + Exception_Or_Object_Kind, Fixed_Point_Kind, Float_Kind, Formal_Kind, @@ -166,6 +167,7 @@ package Gen_IL.Types is Signed_Integer_Kind, Task_Kind, Type_Kind, + Void_Or_Type_Kind, -- End of abstract entity types. -- 2.7.4