[Ada] Use Is_Generic_Subprogram where possible

Message ID 20200707092736.GA41687@adacore.com
State New
Headers show
Series
  • [Ada] Use Is_Generic_Subprogram where possible
Related show

Commit Message

Pierre-Marie de Rodat July 7, 2020, 9:27 a.m.
Replace low-level Ekind_In tests with high-level Is_Generic_Subprogram.
Cleanup only; semantics is unaffected.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* einfo.adb, sem_ch10.adb, sem_ch12.adb, sem_ch8.adb: Use
	Is_Generic_Subprogram.

Patch

diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -2577,9 +2577,7 @@  package body Einfo is
 
    function Is_Primitive (Id : E) return B is
    begin
-      pragma Assert
-        (Is_Overloadable (Id)
-           or else Ekind_In (Id, E_Generic_Function, E_Generic_Procedure));
+      pragma Assert (Is_Overloadable (Id) or else Is_Generic_Subprogram (Id));
       return Flag218 (Id);
    end Is_Primitive;
 
@@ -5822,9 +5820,7 @@  package body Einfo is
 
    procedure Set_Is_Primitive (Id : E; V : B := True) is
    begin
-      pragma Assert
-        (Is_Overloadable (Id)
-           or else Ekind_In (Id, E_Generic_Function, E_Generic_Procedure));
+      pragma Assert (Is_Overloadable (Id) or else Is_Generic_Subprogram (Id));
       Set_Flag218 (Id, V);
    end Set_Is_Primitive;
 


diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb
--- a/gcc/ada/sem_ch10.adb
+++ b/gcc/ada/sem_ch10.adb
@@ -6313,7 +6313,7 @@  package body Sem_Ch10 is
          if Is_Subprogram (E) and then Has_Pragma_Inline (E) then
             return True;
 
-         elsif Ekind_In (E, E_Generic_Function, E_Generic_Procedure) then
+         elsif Is_Generic_Subprogram (E) then
 
             --  A generic subprogram always requires the presence of its
             --  body because an instantiation needs both templates. The only


diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -5664,8 +5664,7 @@  package body Sem_Ch12 is
          --  If renaming, get original unit
 
          if Present (Renamed_Object (Gen_Unit))
-           and then Ekind_In (Renamed_Object (Gen_Unit), E_Generic_Procedure,
-                                                         E_Generic_Function)
+           and then Is_Generic_Subprogram (Renamed_Object (Gen_Unit))
          then
             Gen_Unit := Renamed_Object (Gen_Unit);
             Set_Is_Instantiated (Gen_Unit);


diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb
--- a/gcc/ada/sem_ch8.adb
+++ b/gcc/ada/sem_ch8.adb
@@ -729,7 +729,7 @@  package body Sem_Ch8 is
          --  For subprograms, propagate the Intrinsic flag, to allow, e.g.
          --  renamings and subsequent instantiations of Unchecked_Conversion.
 
-         if Ekind_In (Old_P, E_Generic_Function, E_Generic_Procedure) then
+         if Is_Generic_Subprogram (Old_P) then
             Set_Is_Intrinsic_Subprogram
               (New_P, Is_Intrinsic_Subprogram (Old_P));
          end if;