aggr23_q.adb
300 Bytes
-
[Ada] Wrong code in array aggregates of Ada coextensions · 7ffe26fc
The compiler generates wrong code when an array aggregate with an others choice whose expression has nested object allocations (ie. others => new R (new S)) is used to initialize an array of access to discriminated types whose discriminant is an access type. 2018-06-11 Javier Miranda <miranda@adacore.com> gcc/ada/ * sinfo.ads (Is_Dynamic_Coextension): Adding documentation. (Is_Static_Coextension): Adding documentation. * sinfo.adb (Is_Dynamic_Coextension): Extending the assertion. (Is_Static_Coextension): Extending the assertion. * sem_util.adb (Mark_Allocator): Clear Is_Static_Coextension when setting flag Is_Dynamic_Coextension (and vice versa). gcc/testsuite/ * gnat.dg/aggr23.adb, gnat.dg/aggr23_q.adb, gnat.dg/aggr23_tt.ads: New testcase. From-SVN: r261406
Javier Miranda committed