From: Piotr Trojanek Date: Wed, 1 Feb 2023 12:24:43 +0000 (+0100) Subject: ada: Remove redundant protection against empty lists X-Git-Tag: basepoints/gcc-15~9092 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef7a38762086a58c89f86846d9d779d4eebe900d;p=thirdparty%2Fgcc.git ada: Remove redundant protection against empty lists Calls to List_Length on No_List intentionally return 0 (and likewise call to First on No_List intentionally return Empty), so explicit guards against No_List are unnecessary. Code cleanup; semantics is unaffected. gcc/ada/ * exp_aggr.adb (Aggregate_Size): Remove redundant calls to Present. * exp_ch5.adb (Expand_N_If_Statement): Likewise. * sem_prag.adb (Analyze_Pragma): Likewise. * sem_warn.adb (Find_Var): Likewise. --- diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 58831bd51cad..e4b1991f4102 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -7397,7 +7397,7 @@ package body Exp_Aggr is Comp : Node_Id; Choice : Node_Id; Lo, Hi : Node_Id; - Siz : Int := 0; + Siz : Int; procedure Add_Range_Size; -- Compute number of components specified by a component association @@ -7422,11 +7422,9 @@ package body Exp_Aggr is end Add_Range_Size; begin - -- Aggregate is either all positional or all named. + -- Aggregate is either all positional or all named - if Present (Expressions (N)) then - Siz := List_Length (Expressions (N)); - end if; + Siz := List_Length (Expressions (N)); if Present (Component_Associations (N)) then Comp := First (Component_Associations (N)); diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb index 0c89856b58bf..dfe1112f3419 100644 --- a/gcc/ada/exp_ch5.adb +++ b/gcc/ada/exp_ch5.adb @@ -4743,7 +4743,6 @@ package body Exp_Ch5 is and then not Opt.Suppress_Control_Flow_Optimizations and then Nkind (N) = N_If_Statement and then No (Elsif_Parts (N)) - and then Present (Else_Statements (N)) and then List_Length (Then_Statements (N)) = 1 and then List_Length (Else_Statements (N)) = 1 then diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 36c1add5ea48..5fe5d6a2d0fb 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -11699,29 +11699,24 @@ package body Sem_Prag is -- Preset arguments - Arg_Count := 0; - Arg1 := Empty; + Arg_Count := List_Length (Pragma_Argument_Associations (N)); + Arg1 := First (Pragma_Argument_Associations (N)); Arg2 := Empty; Arg3 := Empty; Arg4 := Empty; Arg5 := Empty; - if Present (Pragma_Argument_Associations (N)) then - Arg_Count := List_Length (Pragma_Argument_Associations (N)); - Arg1 := First (Pragma_Argument_Associations (N)); - - if Present (Arg1) then - Arg2 := Next (Arg1); + if Present (Arg1) then + Arg2 := Next (Arg1); - if Present (Arg2) then - Arg3 := Next (Arg2); + if Present (Arg2) then + Arg3 := Next (Arg2); - if Present (Arg3) then - Arg4 := Next (Arg3); + if Present (Arg3) then + Arg4 := Next (Arg3); - if Present (Arg4) then - Arg5 := Next (Arg4); - end if; + if Present (Arg4) then + Arg5 := Next (Arg4); end if; end if; end if; diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 834d48d311cb..5dd7c17d4e29 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -353,7 +353,7 @@ package body Sem_Warn is begin -- One argument, so check the argument - if Present (PA) and then List_Length (PA) = 1 then + if List_Length (PA) = 1 then if Nkind (First (PA)) = N_Parameter_Association then Find_Var (Explicit_Actual_Parameter (First (PA))); else