]> git.ipfire.org Git - thirdparty/gcc.git/commit
exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity for task component...
authorEd Schonberg <schonberg@adacore.com>
Tue, 15 Nov 2005 13:56:39 +0000 (14:56 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 15 Nov 2005 13:56:39 +0000 (14:56 +0100)
commit7b9d0d6990c025f037fef869732a960e9fe39e94
tree5e2497d8d05377d363ee8231c23022eff05ab331
parentbde33286bde09e4a8fbb16d876a073207066e31e
exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity for task component, in the case of a limited aggregate.

2005-11-14  Ed Schonberg  <schonberg@adacore.com>
    Cyrille Comar  <comar@adacore.com>

* exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
for task component, in the case of a limited aggregate. The enclosed
object declaration will create it earlier. Otherwise, in the case of a
nested aggregate, the object may appear in the wrong scope.
(Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
(Gen_Assign): If the component being assigned is an array type and the
expression is itself an aggregate, wrap the assignment in a block to
force finalization actions on the temporary created for each row of the
enclosing object.
(Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
structures are initialized after all discriminants are set so that
they can be accessed even when their offset is dynamic.

From-SVN: r106969
gcc/ada/exp_aggr.adb