From: Sheri Bernstein <bernst...@adacore.com> Remove GNATcheck violations by refactoring code and also using pragma Annotate to exempt them.
gcc/ada/ * libgnat/a-comlin.adb (Argument_Count): Rewrite code so there is only one return, to remove Improper_Returns violation. (Command_Name): Add pragma to exempt Improper_Returns violation. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/libgnat/a-comlin.adb | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gcc/ada/libgnat/a-comlin.adb b/gcc/ada/libgnat/a-comlin.adb index b95ecd3290c..8a6686181bd 100644 --- a/gcc/ada/libgnat/a-comlin.adb +++ b/gcc/ada/libgnat/a-comlin.adb @@ -77,16 +77,11 @@ package body Ada.Command_Line is function Argument_Count return Natural is begin - if not Initialized then - -- RM A.15 (11) - return 0; - end if; - - if Remove_Args = null then - return Arg_Count - 1; - else - return Remove_Count; - end if; + return + (if not Initialized then 0 -- RM A.15 (11) + elsif Remove_Args = null then Arg_Count - 1 + else Remove_Count + ); end Argument_Count; ----------------- @@ -107,6 +102,8 @@ package body Ada.Command_Line is function Command_Name return String is begin + pragma Annotate (Gnatcheck, Exempt_On, "Improper_Returns", + "early returns for performance"); if not Initialized then return ""; end if; @@ -118,6 +115,7 @@ package body Ada.Command_Line is Fill_Arg (Arg'Address, 0); return Arg; end; + pragma Annotate (Gnatcheck, Exempt_Off, "Improper_Returns"); end Command_Name; end Ada.Command_Line; -- 2.43.0