layout.adb (Layout_Record_Type): Deal with non-static subtypes of variant records
2006-10-31 Robert Dewar <dewar@adacore.com>
* layout.adb (Layout_Record_Type): Deal with non-static subtypes of
variant records
(Layout_Variant_Record): Retrieve the discriminants from the entity
rather than from the type definition, because in the case of a full
type for a private type we need to take the discriminants from the
partial view.
(Layout_Component_List): When applying the Max operator to variants with
a nonstatic size, check whether either operand is static and scale that
operand from bits to storage units before applying Max.
(Layout_Type): In VMS, if a C-convention access type has no explicit
size clause (and does not inherit one in the case of a derived type),
then the size is reset to 32 from 64.