OSDN Git Service

2007-04-06 Ed Schonberg <schonberg@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Apr 2007 09:19:53 +0000 (09:19 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Apr 2007 09:19:53 +0000 (09:19 +0000)
commit3692bc6657f9d4a7a81ade98127a03a60ca5c9c8
tree0a5da656edd636dc5669b2ecbcfcde3234767bb9
parent703844c305585a8b88dd4a74d51f60ecf5c8ad2e
2007-04-06  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_aggr.adb:
If the array component is a discriminated record, the array aggregate
is non-static even if the component is given by an aggregate with
static components.
(Expand_Record_Aggregate): Use First/Next_Component_Or_Discriminant
(Convert_Aggr_In_Allocator): If the allocator is for an access
discriminant and the type is controlled. do not place on a finalization
list at this point. The proper list will be determined from the
enclosing object.
(Build_Record_Aggr_Code): If aggregate has box-initialized components,
initialize record controller if needed, before the components, to ensure
that they are properly finalized.
(Build_Record_Aggr_Code): For the case of an array component that has a
corresponding array aggregate in the record aggregate, perform sliding
if required.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123561 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/exp_aggr.adb