15.3.2 ALIGN Directive (TU*X only)

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:

!HPF$ ALIGN a-object [(s-list)] WITH [*] a-target [(sub-list)]
!HPF$ ALIGN [(s-list)] WITH [*] a-target [(sub-list)] :: a-object [, a-object]...


a-object
Is the name of the object to be aligned; it must be a simple name and not a subobject designator. This object cannot also appear in an INHERIT or DISTRIBUTE directive.


s-list
Is a list of one or more of the following:


The length of the list must equal the rank of a-object.

a-target
Is the name of the object that a-object is aligned with.


sub-list
Is a list of one or more of the following:


Rules and Behavior

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:


Previous Page Next Page Table of Contents