sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that...
authorEd Schonberg <schonberg@adacore.com>
Wed, 6 Jun 2007 10:39:47 +0000 (12:39 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 6 Jun 2007 10:39:47 +0000 (12:39 +0200)
commitc7ce71c2263051ea52654243916c7e61640a8a03
tree5499c8c53641e1f1f69c4c4836da65c42ce708fb
parent2b73cf6852765d6fc6034577369fc90524987a8c
sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components of the type that specify the position of interface...

2007-04-20  Ed Schonberg  <schonberg@adacore.com>

* sem_aggr.adb (Resolve_Record_Aggregate): Ignore internal components
of the type that specify the position of interface tags when the type
inherits discriminated array components from the parent type.
If a component is initialized with a box, check for the presence of a
default expression in its declaration before using its default
initialization procedure.
(Resolve_Record_Aggregate): If a component is box-initialized, and the
component type has a discriminants, create a partial aggregate for it
by copying the discriminants of the component subtype.
Reject attempt to initialize a discriminant with a box.
(Array_Aggr_Subtype): Indicate to the backend that the size of arrays
associated with dispatch tables is known at compile time.
(Get_Value): If an association in a record aggregate has a box
association, and the corresponding record component has a default
expression, always copy the default expression, even when the
association has a single choice, in order to create a proper
association for the expanded aggregate.

From-SVN: r125438
gcc/ada/sem_aggr.adb