An aggregate may have been rewritten before being seen by the procedure.
gcc/ada/
* exp_util.adb (Expand_Subtype_From_Expr): Be prepared for
rewritten aggregates as expressions.
-- non-statically-matching subtypes on 'Access of this object.
and then (Nkind (N) /= N_Object_Declaration
- or else Nkind (Exp) = N_Aggregate
+ or else Nkind (Original_Node (Exp)) = N_Aggregate
or else Is_Constr_Subt_For_U_Nominal (Exp_Typ))
then
-- Within an initialization procedure, a selected component