[Ada] Reuse Is_Generic_Subprogram where possible
authorPiotr Trojanek <trojanek@adacore.com>
Wed, 28 Oct 2020 08:27:18 +0000 (09:27 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 26 Nov 2020 08:39:57 +0000 (03:39 -0500)
gcc/ada/

* lib-writ.adb, sem_ch8.adb, sem_prag.adb: Use
Is_Generic_Subprogram instead of low-level membership tests.

gcc/ada/lib-writ.adb
gcc/ada/sem_ch8.adb
gcc/ada/sem_prag.adb

index f17b46a8ba012812202065e1ee12b3b9c0895f3d..34a8d631c6e722080f020c138c42e3be607177b4 100644 (file)
@@ -1125,9 +1125,7 @@ package body Lib.Writ is
 
             if Nkind (U) = N_Subprogram_Body
               and then Present (Corresponding_Spec (U))
-              and then
-                Ekind (Corresponding_Spec (U)) in E_Generic_Procedure
-                                                | E_Generic_Function
+              and then Is_Generic_Subprogram (Corresponding_Spec (U))
             then
                null;
 
index 950d4a00b2f4dfe8a779f252c4276e90a960993d..4c80e02435ba871d8a0da0b4cf25759adada8a41 100644 (file)
@@ -8750,9 +8750,8 @@ package body Sem_Ch8 is
 
          --  Mark primitives
 
-         elsif (Ekind (Id) in Overloadable_Kind
-                 or else Ekind (Id) in
-                           E_Generic_Function | E_Generic_Procedure)
+         elsif (Is_Overloadable (Id)
+                 or else Is_Generic_Subprogram (Id))
            and then (Is_Potentially_Use_Visible (Id)
                       or else Is_Intrinsic_Subprogram (Id)
                       or else (Ekind (Id) in E_Function | E_Procedure
index d06e68cf94c745efafa1823c4f9dd5249b78a836..05ff5114ac7fe484a79e4d67fcffe9eeca003292 100644 (file)
@@ -24781,18 +24781,15 @@ package body Sem_Prag is
          --  body, not in the spec).
 
          when Pragma_Unimplemented_Unit => Unimplemented_Unit : declare
-            Cunitent : constant Entity_Id   :=
+            Cunitent : constant Entity_Id :=
                          Cunit_Entity (Get_Source_Unit (Loc));
-            Ent_Kind : constant Entity_Kind := Ekind (Cunitent);
 
          begin
             GNAT_Pragma;
             Check_Arg_Count (0);
 
             if Operating_Mode = Generate_Code
-              or else Ent_Kind = E_Generic_Function
-              or else Ent_Kind = E_Generic_Procedure
-              or else Ent_Kind = E_Generic_Package
+              or else Is_Generic_Unit (Cunitent)
             then
                Get_Name_String (Chars (Cunitent));
                Set_Casing (Mixed_Case);