An aggregate may have been rewritten before being seen by the procedure.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * exp_util.adb (Expand_Subtype_From_Expr): Be prepared for
        rewritten aggregates as expressions.
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -5741,7 +5741,7 @@ package body Exp_Util is
            --  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


Reply via email to