]> gcc.gnu.org Git - gcc.git/commit
exp_aggr.ads, [...]:
authorJavier Miranda <miranda@adacore.com>
Wed, 6 Jun 2007 10:23:46 +0000 (12:23 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:23:46 +0000 (12:23 +0200)
commit0f95b178458d196841d4d4778cfd1c244088b55b
treecb75da563e6c1787ba67edcfc858e37bd47c9e10
parent1c28fe3afee2a7dde65f9aa96560d0170af3aae7
exp_aggr.ads, [...]:

2007-04-20  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* exp_aggr.ads, exp_aggr.adb:
(Build_Record_Aggr_Code): Add missing initialization of secondary tags
in extension aggregates.
(Flatten): Other conditions being met, an aggregate is static if the
low bound given by component associations is different from the low
bound of the base index type.
(Packed_Array_Aggregate_Handled): If the component type is itself a
packed array or record, the front-end must expand into assignments.
(Gen_Ctrl_Actions_For_Aggr): In call to Init_Controller, pass False to
Init_Pr, instead of Ancestor_Is_Expression.
(Gen_Ctrl_Actions_For_Aggr): When processing an aggregate of a
coextension chain root, either generate a list controller or use the
already existing one.
(Static_Array_Aggregate): New procedure to construct a positional
aggregate that can be handled by the backend, when all bounds and
components are compile-time known constants.
(Expand_Record_Aggregate): Force conversion of aggregates of tagged
types covering interface types into assignments.
(Replace_Type): move to Build_Record_Aggr_Code.
(Expand_Record_Aggr_Code): if the target of the aggregate is an
interface type, convert to the definite type of the aggregate itself,
so that needed components are visible.
(Convert_Aggr_In_Object_Decl): If the aggregate has controlled
components and the context is an extended return statement do not
create a transient block for it, to prevent premature finalization
before the return is executed.
(Gen_Assign): Do not generate a call to deep adjust routine if the
component type is itself an array of controlled (sub)-components
initialized with an inner aggregate.
(Component_Check): New name for Static_Check. This name is now more
appropriate, and documentation is added which was missing.
(Component_Check): Add test for bit aligned component value
(Component_Not_OK_For_Backend): Renames Has_Delayed_Nested_Aggregate_Or_
Tagged_Comps, name is more appropriate given added function below.
(Component_Not_OK_For_Backend): Check for bit aligned component ref.

From-SVN: r125392
gcc/ada/exp_aggr.adb
gcc/ada/exp_aggr.ads
This page took 0.058107 seconds and 5 git commands to generate.