[Ada] Fix typo in code to get a better error message
authorPiotr Trojanek <trojanek@adacore.com>
Thu, 14 May 2020 20:08:09 +0000 (22:08 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 7 Jul 2020 09:26:59 +0000 (05:26 -0400)
gcc/ada/

* sem_ch8.adb (Analyze_Use_Package): Replace low-level,
error-prone Ekind_In tests with high-level Is_Generic_Subprogram
and Is_Subprogram.

gcc/ada/sem_ch8.adb

index 0fcccc9c38319a386abff98f52f2591eece670a6..befd4a8efc5878e6be46bbf57e22b07baca09e08 100644 (file)
@@ -3981,20 +3981,19 @@ package body Sem_Ch8 is
          Set_Prev_Use_Clause (N, Current_Use_Clause (Pack));
       end if;
 
-      --  Mark all entities as potentially use visible.
+      --  Mark all entities as potentially use visible
 
       if Ekind (Pack) /= E_Package and then Etype (Pack) /= Any_Type then
          if Ekind (Pack) = E_Generic_Package then
             Error_Msg_N  -- CODEFIX
               ("a generic package is not allowed in a use clause", Name (N));
 
-         elsif Ekind_In (Pack, E_Generic_Function, E_Generic_Package)
-         then
+         elsif Is_Generic_Subprogram (Pack) then
             Error_Msg_N  -- CODEFIX
               ("a generic subprogram is not allowed in a use clause",
                Name (N));
 
-         elsif Ekind_In (Pack, E_Function, E_Procedure, E_Operator) then
+         elsif Is_Subprogram (Pack) then
             Error_Msg_N  -- CODEFIX
               ("a subprogram is not allowed in a use clause", Name (N));