[Ada] Remove second warning for convention C_Variadic_n
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 28 Apr 2020 18:51:51 +0000 (20:51 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Fri, 19 Jun 2020 08:17:13 +0000 (04:17 -0400)
2020-06-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* sem_prag.adb (Process_Convention): Revert previous change.

gcc/ada/sem_prag.adb

index e9cfb13a830d0645fe561e64d96d060db384016f..b3d128b37b38fddb05dc18664335b6ca041769f4 100644 (file)
@@ -8304,7 +8304,8 @@ package body Sem_Prag is
                  ("??C_Variadic_0 cannot be used for an 'I'S'O C function",
                   Get_Pragma_Arg (Arg2));
 
-            --  Now check the number of parameters of the subprogram
+            --  Now check the number of parameters of the subprogram and give
+            --  an error if it is lower than n.
 
             elsif Present (Subp) then
                declare
@@ -8323,21 +8324,11 @@ package body Sem_Prag is
                      Next_Formal (Formal);
                   end loop;
 
-                  --  Error out if the number of parameters is lower than n
-
                   if Count < Minimum then
                      Error_Msg_Uint_1 := UI_From_Int (Minimum);
                      Error_Pragma_Arg
                        ("argument of pragma% must have at least"
                         & "^ parameters", Arg2);
-
-                  --  But warn if it is exactly n because this is useless
-
-                  elsif Count = Minimum then
-                     Error_Msg_Uint_1 := UI_From_Int (Minimum + 1);
-                     Error_Msg_N
-                       ("??subprogram should have at least ^ parameters",
-                        Get_Pragma_Arg (Arg2));
                   end if;
                end;
             end if;