[COMMITTED] ada: Fix expanding container aggregates with Iterator specification
Checks
Commit Message
From: Viljar Indus <indus@adacore.com>
The compiler should use unnamed addition methods such as Append
when expanding a container aggregate with Iterator Specification.
gcc/ada/
* exp_aggr.adb (Expand_Container_Aggregate): Use the positional
addition method only when dealing with a container aggregate
without an Iterator Specification e.g. with a loop parameter
specification
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/exp_aggr.adb | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
@@ -7259,8 +7259,11 @@ package body Exp_Aggr is
-- Iterated component association. Discard
-- positional insertion procedure.
- Add_Named_Subp := Assign_Indexed_Subp;
- Add_Unnamed_Subp := Empty;
+ if not Present (Iterator_Specification (Comp)) then
+ Add_Named_Subp := Assign_Indexed_Subp;
+ Add_Unnamed_Subp := Empty;
+ end if;
+
Expand_Iterated_Component (Comp);
end if;