ada: Fix small thinko in previous change to two-pass aggregate expansion
We need a type tailored to the base index type to compute the length. gcc/ada/ChangeLog: * exp_aggr.adb (Two_Pass_Aggregate_Expansion): Use the base type of the index type to find the type used to compute the length.
This commit is contained in:
parent
ad8242d616
commit
f345ae3e6b
1 changed files with 2 additions and 1 deletions
|
@ -5601,10 +5601,11 @@ package body Exp_Aggr is
|
|||
Comp_Type : constant Entity_Id := Etype (N);
|
||||
Index_Id : constant Entity_Id := Make_Temporary (Loc, 'I', N);
|
||||
Index_Type : constant Entity_Id := Etype (First_Index (Etype (N)));
|
||||
Index_Base : constant Entity_Id := Base_Type (Index_Type);
|
||||
Size_Id : constant Entity_Id := Make_Temporary (Loc, 'I', N);
|
||||
Size_Type : constant Entity_Id :=
|
||||
Integer_Type_For
|
||||
(Esize (Index_Type), Is_Unsigned_Type (Index_Type));
|
||||
(Esize (Index_Base), Is_Unsigned_Type (Index_Base));
|
||||
TmpE : constant Entity_Id := Make_Temporary (Loc, 'A', N);
|
||||
|
||||
Assoc : Node_Id := First (Component_Associations (N));
|
||||
|
|
Loading…
Add table
Reference in a new issue