If /CHECK=ALIGNMENT is specified, the compiler establishes an exception handler for the program; this handler prevents vector alignment exceptions from terminating the program and allows continued execution at the cost of decreased performance. At the end of program execution, a message is displayed giving the total number of vector alignment exceptions handled.
ASSERTIONS
Enables or disables assertion checking. Assertions give the
compiler information that can resolve ambiguous data dependences.
If /CHECK=ASSERTIONS is specified, the compiler will generate the appropriate run-time code to evaluate the asserted expression. If the assertion tests false at run time, the program is stopped and an error message is issued.
If /CHECK=NOASSERTIONS is specified, the compiler is free to use the information in the assertions in its optimizations and transformations, but no code is generated to test the validity of the assertions at run time. Assertions can be coded as statements or general compiler directives:
CDEC$ ASSERT (e) ASSERT (e)
Where e is a logical expression.
BOUNDS
Enables or disables bounds checking. If /CHECK=BOUNDS is
specified, each dimension of an array reference or substring
subscript reference is checked to determine whether it is within
the range of the dimension specified by the array or character
variable declaration.
/CHECK=NOBOUNDS specifies no checking and presumes that no subscripts exceed their declared bounds.
/CHECK=BOUNDS is not supported when /VECTOR or /PARALLEL=AUTOMATIC is in effect.
OVERFLOW
Enables or disables integer overflow traps. If /CHECK=OVERFLOW
is specified, fixed-point calculations involving BYTE, INTEGER*2,
and INTEGER*4 data types are checked for arithmetic overflow.
Real and complex calculations are always checked for overflow and
are not affected by /NOCHECK. Integer exponentiation is
performed by a routine in the mathematical library. The routine
in the mathematical library always checks for overflow, even if
/CHECK=NOOVERFLOW is specified.
UNDERFLOW
Enables or disables floating underflow exceptions. If
/CHECK=UNDERFLOW is specified, error messages are issued for the
first two floating underflows. Regardless of the setting of the
UNDERFLOW qualifier, zero is stored as the result that
underflowed and the program continues.
ALL
Same interpretation as /CHECK=(ALIGNMENT, ASSERTIONS, BOUNDS,
OVERFLOW, UNDERFLOW). (/CHECK=ALL is equivalent to /CHECK.)
NONE
Same interpretation as /CHECK=(NOALIGNMENT, NOASSERTIONS,
NOBOUNDS, NOOVERFLOW, NOUNDERFLOW). (/CHECK=NONE is equivalent
to /NOCHECK.)