"For an array X,
X'Addressshould point at the first component of the array, and not at the array bounds."
"The recommended level of support for the Address attribute is:
X'Addressshould produce a useful result if X is an object that is aliased or of a by-reference type, or is an entity whose Address 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."
"Objects (including subcomponents) that are aliased or of a by-reference type should be allocated on storage element boundaries."
"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."