https://gcc.gnu.org/g:4d9dfa0082ee46ce969283fafe67b2008ab661fc
commit r15-2682-g4d9dfa0082ee46ce969283fafe67b2008ab661fc Author: Piotr Trojanek <troja...@adacore.com> Date: Fri Jul 5 13:01:08 2024 +0200 ada: Simplify code by reusing Choice_List Code cleanup; semantics is unaffected. gcc/ada/ * exp_aggr.adb (Gen_Assign): Fix layout. * sem_aggr.adb (Empty_Range): Reuse Choice_List. Diff: --- gcc/ada/exp_aggr.adb | 8 ++++---- gcc/ada/sem_aggr.adb | 8 +------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 25af78a4da7b..7a2d0570dbd4 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -1010,8 +1010,8 @@ package body Exp_Aggr is -- Returns a new reference to the index type name function Gen_Assign - (Ind : Node_Id; - Expr : Node_Id) return List_Id; + (Ind : Node_Id; + Expr : Node_Id) return List_Id; -- Ind must be a side-effect-free expression. If the input aggregate N -- to Build_Loop contains no subaggregates, then this function returns -- the assignment statement: @@ -1237,8 +1237,8 @@ package body Exp_Aggr is ---------------- function Gen_Assign - (Ind : Node_Id; - Expr : Node_Id) return List_Id + (Ind : Node_Id; + Expr : Node_Id) return List_Id is function Add_Loop_Actions (Lis : List_Id) return List_Id; -- Collect insert_actions generated in the construction of a loop, diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb index 565f2cb8a794..656d789de735 100644 --- a/gcc/ada/sem_aggr.adb +++ b/gcc/ada/sem_aggr.adb @@ -2735,15 +2735,9 @@ package body Sem_Aggr is ----------------- function Empty_Range (A : Node_Id) return Boolean is - R : Node_Id; + R : constant Node_Id := First (Choice_List (A)); begin - if Nkind (A) = N_Iterated_Component_Association then - R := First (Discrete_Choices (A)); - else - R := First (Choices (A)); - end if; - return No (Next (R)) and then Nkind (R) = N_Range and then Compile_Time_Compare