This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r106969 - /trunk/gcc/ada/exp_aggr.adb
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Tue, 15 Nov 2005 13:56:39 -0000
- Subject: r106969 - /trunk/gcc/ada/exp_aggr.adb
Author: charlet
Date: Tue Nov 15 13:56:39 2005
New Revision: 106969
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=106969
Log:
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.
Modified:
trunk/gcc/ada/exp_aggr.adb