From: Eric Botcazou Date: Thu, 23 Apr 2020 12:26:48 +0000 (+0200) Subject: [Ada] Add second warning for convention C_Variadic_n X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0c32ab8232a40d8bb982c0ac13864d2290dc9336;p=gcc.git [Ada] Add second warning for convention C_Variadic_n 2020-06-18 Eric Botcazou gcc/ada/ * sem_prag.adb (Process_Convention): Give a warning on C_Variadic_n being applied to a subprogram with exactly n parameters. --- diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 689c7282947..e9cfb13a830 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -8323,11 +8323,21 @@ 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;