The ALIGN attribute controls the default alignment rules in a
compilation unit or for a TYPE or VAR declaration section.
The ALIGN attribute takes a single keyword parameter that has
the same name and meaning as the keywords for the /ALIGN
qualifier. Note that specifying the ALIGN attribute overrides
any value you previously specified with the /ALIGN qualifier.
Syntax:
[ALIGN(keyword)]
You can specify the following keywords:
Value Action Default Information
----- ------ ------- -----------
NATURAL Uses natural alignment when Default on OpenVMS Alpha
positioning record fields and OpenVMS I64 systems.
or array components. Natural
alignment is when a record
field or an array component
is positioned on a boundary
based on its size. For example,
32-bit integers are aligned on
the nearest 32-bit boundary.
VAX Uses byte alignment when pos- Default on OpenVMS VAX
itioning record fields or array systems.
components. Record fields or
array components larger than
32 bits are positioned on the
nearest byte boundary.
On OpenVMS VAX systems, when you specify a value of NATURAL,
automatic variables are aligned on longword boundaries instead
of quadword boundaries. This occurs because the largest
allowable alignment for the stack is longword alignment.