diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c62e621b96d..8b8a944ef65 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2019-08-12 Dmitriy Anisimkov + + * libgnat/g-comlin.ads, libgnat/g-comlin.adb (Getopt): Add + parameter Quiet. Need to do not output error messages to + console. Invalid_Switch exception generation surrounded by an + error message. + 2019-08-12 Ed Schonberg * exp_ch6.adb (Expand_Actuals. Add_Call_By_Copy_Code): Add code diff --git a/gcc/ada/libgnat/g-comlin.adb b/gcc/ada/libgnat/g-comlin.adb index 29100afba11..f567ddb2481 100644 --- a/gcc/ada/libgnat/g-comlin.adb +++ b/gcc/ada/libgnat/g-comlin.adb @@ -753,7 +753,8 @@ package body GNAT.Command_Line is Parser.Current_Index := End_Index + 1; - raise Invalid_Switch; + raise Invalid_Switch with + "Unrecognized option " & Full_Switch (Parser); end if; End_Index := Parser.Current_Index + Max_Length - 1; @@ -883,7 +884,8 @@ package body GNAT.Command_Line is Last => Arg'Last, Extra => Parser.Switch_Character); Parser.Current_Index := Arg'Last + 1; - raise Invalid_Switch; + raise Invalid_Switch with + "Unrecognized option " & Full_Switch (Parser); end if; end case; @@ -3365,7 +3367,8 @@ package body GNAT.Command_Line is (Config : Command_Line_Configuration; Callback : Switch_Handler := null; Parser : Opt_Parser := Command_Line_Parser; - Concatenate : Boolean := True) + Concatenate : Boolean := True; + Quiet : Boolean := False) is Local_Config : Command_Line_Configuration := Config; Getopt_Switches : String_Access; @@ -3575,12 +3578,14 @@ package body GNAT.Command_Line is -- Message inspired by "ls" on Unix - Put_Line (Standard_Error, - Base_Name (Ada.Command_Line.Command_Name) - & ": unrecognized option '" - & Full_Switch (Parser) - & "'"); - Try_Help; + if not Quiet then + Put_Line (Standard_Error, + Base_Name (Ada.Command_Line.Command_Name) + & ": unrecognized option '" + & Full_Switch (Parser) + & "'"); + Try_Help; + end if; raise; diff --git a/gcc/ada/libgnat/g-comlin.ads b/gcc/ada/libgnat/g-comlin.ads index f1251b64228..3708c37b842 100644 --- a/gcc/ada/libgnat/g-comlin.ads +++ b/gcc/ada/libgnat/g-comlin.ads @@ -738,7 +738,8 @@ package GNAT.Command_Line is (Config : Command_Line_Configuration; Callback : Switch_Handler := null; Parser : Opt_Parser := Command_Line_Parser; - Concatenate : Boolean := True); + Concatenate : Boolean := True; + Quiet : Boolean := False); -- Similar to the standard Getopt function. For each switch found on the -- command line, this calls Callback, if the switch is not handled -- automatically. @@ -756,6 +757,7 @@ package GNAT.Command_Line is -- to display the help message and raises Exit_From_Command_Line. -- If an invalid switch is specified on the command line, this procedure -- will display an error message and raises Invalid_Switch again. + -- If the Quiet parameter is True then the error message is not displayed. -- -- This function automatically expands switches: --