"For an array
X
,X'Address
should point at the first component of the array, and not at the array bounds."
Followed.
"The recommended level of support for the
Address
attribute is:
X'Address
should produce a useful result ifX
is an object that is aliased or of a by-reference type, or is an entity whoseAddress
has been specified."
Followed. A valid address will be produced even if none of those conditions have been met. If necessary, the object is forced into memory to ensure the address is valid.
"An implementation should support
Address
clauses for imported subprograms."
Followed.
"Objects (including subcomponents) that are aliased or of a by-reference type should be allocated on storage element boundaries."
Followed.
"If the
Address
of an object is specified, or it is imported or exported, then the implementation should not perform optimizations based on assumptions of no aliases."
Followed.