From: Piotr Trojanek Date: Thu, 12 Dec 2019 10:45:24 +0000 (+0100) Subject: [Ada] Reuse Is_Package_Or_Generic_Package where possible X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a92db2624549f119a6f5c1e19c3013768b6bad3e;p=gcc.git [Ada] Reuse Is_Package_Or_Generic_Package where possible 2020-06-02 Piotr Trojanek gcc/ada/ * contracts.adb, einfo.adb, exp_ch9.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_elab.adb, sem_type.adb, sem_util.adb: Reuse Is_Package_Or_Generic_Package where possible (similarly, reuse Is_Concurrent_Type if it was possible in the same expressions). --- diff --git a/gcc/ada/contracts.adb b/gcc/ada/contracts.adb index 981bb91a424..d58f1360f22 100644 --- a/gcc/ada/contracts.adb +++ b/gcc/ada/contracts.adb @@ -213,7 +213,7 @@ package body Contracts is -- Initializes -- Part_Of (instantiation only) - elsif Ekind_In (Id, E_Generic_Package, E_Package) then + elsif Is_Package_Or_Generic_Package (Id) then if Nam_In (Prag_Nam, Name_Abstract_State, Name_Initial_Condition, Name_Initializes) diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 98b508f6590..1df8ed049db 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -713,7 +713,7 @@ package body Einfo is function Abstract_States (Id : E) return L is begin - pragma Assert (Ekind_In (Id, E_Generic_Package, E_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); return Elist25 (Id); end Abstract_States; @@ -837,7 +837,7 @@ package body Einfo is function Body_Entity (Id : E) return E is begin - pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); return Node19 (Id); end Body_Entity; @@ -1424,8 +1424,8 @@ package body Einfo is function First_Private_Entity (Id : E) return E is begin - pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package) - or else Ekind (Id) in Concurrent_Kind); + pragma Assert (Is_Package_Or_Generic_Package (Id) + or else Is_Concurrent_Type (Id)); return Node16 (Id); end First_Private_Entity; @@ -3044,7 +3044,7 @@ package body Einfo is function Package_Instantiation (Id : E) return N is begin - pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); return Node26 (Id); end Package_Instantiation; @@ -3883,7 +3883,7 @@ package body Einfo is procedure Set_Abstract_States (Id : E; V : L) is begin - pragma Assert (Ekind_In (Id, E_Generic_Package, E_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); Set_Elist25 (Id, V); end Set_Abstract_States; @@ -4006,7 +4006,7 @@ package body Einfo is procedure Set_Body_Entity (Id : E; V : E) is begin - pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); Set_Node19 (Id, V); end Set_Body_Entity; @@ -4593,8 +4593,8 @@ package body Einfo is procedure Set_First_Private_Entity (Id : E; V : E) is begin - pragma Assert (Ekind_In (Id, E_Package, E_Generic_Package) - or else Ekind (Id) in Concurrent_Kind); + pragma Assert (Is_Package_Or_Generic_Package (Id) + or else Is_Concurrent_Type (Id)); Set_Node16 (Id, V); end Set_First_Private_Entity; @@ -7827,7 +7827,7 @@ package body Einfo is function Has_Non_Null_Abstract_State (Id : E) return B is begin - pragma Assert (Ekind_In (Id, E_Generic_Package, E_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); return Present (Abstract_States (Id)) @@ -7863,7 +7863,7 @@ package body Einfo is ----------------------------- function Has_Null_Abstract_State (Id : E) return B is - pragma Assert (Ekind_In (Id, E_Generic_Package, E_Package)); + pragma Assert (Is_Package_Or_Generic_Package (Id)); States : constant Elist_Id := Abstract_States (Id); diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb index 64ac3533caf..392a221e18f 100644 --- a/gcc/ada/exp_ch9.adb +++ b/gcc/ada/exp_ch9.adb @@ -6167,7 +6167,7 @@ package body Exp_Ch9 is -- this safe. This is a common (if dubious) idiom. elsif S = Scope (Prot) - and then Ekind_In (S, E_Package, E_Generic_Package) + and then Is_Package_Or_Generic_Package (S) and then Nkind (Parent (E)) = N_Object_Declaration and then Nkind (Parent (Parent (E))) = N_Package_Body then diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb index dc3a3c25446..209e0601cbd 100644 --- a/gcc/ada/sem_ch12.adb +++ b/gcc/ada/sem_ch12.adb @@ -10364,7 +10364,7 @@ package body Sem_Ch12 is -- such as a parent generic within the body of a generic child. if not Is_Entity_Name (Actual) - or else not Ekind_In (Entity (Actual), E_Generic_Package, E_Package) + or else not Is_Package_Or_Generic_Package (Entity (Actual)) then Error_Msg_N ("expect package instance to instantiate formal", Actual); diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index 591011252aa..702f2650ea6 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -9480,7 +9480,7 @@ package body Sem_Ch4 is Type_Scope : constant Entity_Id := Scope (T); Op_List : Elist_Id := Primitive_Operations (T); begin - if Ekind_In (Type_Scope, E_Package, E_Generic_Package) + if Is_Package_Or_Generic_Package (Type_Scope) and then ((In_Package_Body (Type_Scope) and then In_Open_Scopes (Type_Scope)) or else In_Instance_Body) then diff --git a/gcc/ada/sem_ch7.adb b/gcc/ada/sem_ch7.adb index 6d9a1db5b7e..f217dfd2555 100644 --- a/gcc/ada/sem_ch7.adb +++ b/gcc/ada/sem_ch7.adb @@ -2428,7 +2428,7 @@ package body Sem_Ch7 is -- defined in the associated package, subject to at least one Part_Of -- constituent. - if Ekind_In (P, E_Generic_Package, E_Package) then + if Is_Package_Or_Generic_Package (P) then declare States : constant Elist_Id := Abstract_States (P); State_Elmt : Elmt_Id; @@ -3322,7 +3322,7 @@ package body Sem_Ch7 is -- performed if the caller requests this behavior. if Do_Abstract_States - and then Ekind_In (Pack_Id, E_Generic_Package, E_Package) + and then Is_Package_Or_Generic_Package (Pack_Id) and then Has_Non_Null_Abstract_State (Pack_Id) and then Requires_Body then @@ -3380,7 +3380,7 @@ package body Sem_Ch7 is -- provided). If Ignore_Abstract_State is True, we don't do this check -- (so we can use Unit_Requires_Body to check for some other reason). - elsif Ekind_In (Pack_Id, E_Generic_Package, E_Package) + elsif Is_Package_Or_Generic_Package (Pack_Id) and then Present (Abstract_States (Pack_Id)) and then not Is_Null_State (Node (First_Elmt (Abstract_States (Pack_Id)))) diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index f083f7c16e7..7f50b407dca 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -5950,7 +5950,7 @@ package body Sem_Ch8 is -- Package or generic package is always a simple reference - if Ekind_In (E, E_Package, E_Generic_Package) then + if Is_Package_Or_Generic_Package (E) then Generate_Reference (E, N, 'r'); -- Else see if we have a left hand side @@ -8779,7 +8779,7 @@ package body Sem_Ch8 is -- Set Default_Storage_Pool field of the library unit if necessary - if Ekind_In (S, E_Package, E_Generic_Package) + if Is_Package_Or_Generic_Package (S) and then Nkind (Parent (Unit_Declaration_Node (S))) = N_Compilation_Unit then @@ -8949,7 +8949,7 @@ package body Sem_Ch8 is if Is_Child_Unit (S) and then Present (E) - and then Ekind_In (E, E_Package, E_Generic_Package) + and then Is_Package_Or_Generic_Package (E) and then Nkind (Parent (Unit_Declaration_Node (E))) = N_Compilation_Unit then diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb index f3cac46d0fd..dbf3fac3c4c 100644 --- a/gcc/ada/sem_elab.adb +++ b/gcc/ada/sem_elab.adb @@ -13826,7 +13826,7 @@ package body Sem_Elab is -- be on another machine. if Ekind (Body_Id) = E_Package_Body - and then Ekind_In (Spec_Id, E_Generic_Package, E_Package) + and then Is_Package_Or_Generic_Package (Spec_Id) and then (Is_Remote_Call_Interface (Spec_Id) or else Is_Remote_Types (Spec_Id)) then diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index e5d01dd095c..1868568c5ea 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -1383,7 +1383,7 @@ package body Sem_Type is begin return In_Same_List (Parent (Typ), Op_Decl) or else - (Ekind_In (Scop, E_Package, E_Generic_Package) + (Is_Package_Or_Generic_Package (Scop) and then List_Containing (Op_Decl) = Visible_Declarations (Parent (Scop)) and then List_Containing (Parent (Typ)) = diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index b980b4c63fd..c1b1d9ef233 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -3407,7 +3407,7 @@ package body Sem_Util is -- Stop the traversal when a package subject to a null abstract state -- has been found. - if Ekind_In (Context, E_Generic_Package, E_Package) + if Is_Package_Or_Generic_Package (Context) and then Has_Null_Abstract_State (Context) then exit; @@ -12978,7 +12978,7 @@ package body Sem_Util is begin if Present (Pkg) - and then Ekind_In (Pkg, E_Generic_Package, E_Package) + and then Is_Package_Or_Generic_Package (Pkg) then while Nkind (Pkg_Decl) /= N_Package_Specification loop Pkg_Decl := Parent (Pkg_Decl); @@ -25283,7 +25283,7 @@ package body Sem_Util is or else (Present (Scope (Val)) and then Is_Implementation_Defined (Scope (Val)))) - and then not (Ekind_In (Val, E_Package, E_Generic_Package) + and then not (Is_Package_Or_Generic_Package (Val) and then Is_Library_Level_Entity (Val)) then Check_Restriction (No_Implementation_Identifiers, Post_Node);