"If the
Size
of a subtype is specified, and allows for efficient independent addressability (see 9.10) on the target architecture, then theSize
of the following objects of the subtype should equal theSize
of the subtype:Aliased objects (including components)."
Followed.
"Size clause on a composite subtype should not affect the internal layout of components."
Followed. But note that this can be overridden by use of the implementation pragma Implicit_Packing in the case of packed arrays.
"The recommended level of support for the
Size
attribute of subtypes is:The
Size
(if not specified) of a static discrete or fixed point subtype should be the number of bits needed to represent each value belonging to the subtype using an unbiased representation, leaving space for a sign bit only if the subtype contains negative values. If such a subtype is a first subtype, then an implementation should support a specifiedSize
for it that reflects this representation."
Followed.
"For a subtype implemented with levels of indirection, the
Size
should include the size of the pointers, but not the size of what they point at."
Followed.