The ALIGN directive specifies that certain data objects are to be mapped (aligned) in the same way as certain other data objects.
The ALIGN directive takes one of the following forms:
Specifies that positions along the axis will be spread out across the matching axis of the a-target [(sub-list)].
Specifies that the axis is collapsed. Positions along that axis make no difference in determining the corresponding position within the a-target.
Specifies a range over all valid index values for that dimension of the a-object.
The length of the list must equal the rank of a-object.
The ALIGN directive can appear only in the specification part of a scoping unit.
If a-object is scalar, the s-list (and its enclosing parentheses) must be omitted. (In some cases this will preclude the use of the first form of the directive.)
Subscripts for the ALIGN directive are restricted to the form
m * i + n
.
If an asterisk (*) follows WITH, every a-object must be a dummy argument. In this case, the asterisk indicates that the directive constitutes an assertion about the current mapping of a dummy argument on entry to a subprogram, rather than a request for a desired mapping of that dummy argument.
The following rules apply to pure procedure data items that are explicitly mapped and appear in an ALIGN directive:
For More Information: