From: Piotr Trojanek <troja...@adacore.com> 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. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/exp_aggr.adb | 8 +++----- gcc/ada/exp_ch5.adb | 1 - gcc/ada/sem_prag.adb | 25 ++++++++++--------------- gcc/ada/sem_warn.adb | 2 +- 4 files changed, 14 insertions(+), 22 deletions(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 58831bd51ca..e4b1991f410 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 0c89856b58b..dfe1112f341 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 36c1add5ea4..5fe5d6a2d0f 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 834d48d311c..5dd7c17d4e2 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 -- 2.40.0