User`s guide

MACRO Compiler Qualifiers
MACRO/MIGRATION
/UNALIGNED
/NOUNALIGNED (default)
Forces the compiler to use unaligned loads and stores for all register-based
memory references (except those that are FP–based or SP–based or are references
to local aligned static data).
By default, the compiler assumes that addresses in registers used as base pointers
(except those that are FP–based or SP–based) are longword-aligned at routine
entry, and generates code to load BYTE, WORD, and LONG data accordingly.
This can result in run-time alignment faults, with significant performance impact,
if the assumption is incorrect. Specifying /UNALIGNED causes the compiler to
generate code assuming pointers are unaligned. This code is significantly larger,
but is more efficient than handling an alignment fault.
Note
The compiler does not track quadword register alignment. For quadword
memory references (such as in VAX MOVQ instructions), the compiler
assumes the base address is quadword aligned, unless it has determined
the address may not be longword-aligned in its register tracking code.
Quadword references in OpenVMS Alpha and OpenVMS I64 built-in uses
are always assumed to be quadword aligned. Since these must be in new
code, the data should be properly aligned.
The /UNALIGNED qualifier is generally appropriate only for modules where data
is often unaligned, but which are not sufficiently performance sensitive to merit
the correction of the data alignment in the source.
/WARN=[[option]...]
/NOWARN
Turns off all informational level or warning level messages. Both are on by
default. The options are:
Option Description
INFO Turns on all informational level messages
NOINFO Turns off all informational level messages
WARN Turns on all informational and warning level messages
NOWARN Turns off all informational and warning level messages
A–10 MACRO Compiler Qualifiers