VMS Help
FORTRAN, /CHECK
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
/[NO]CHECK[=(option[,...])] D=/CHECK=(NOALI,NOASS,NOBOU,OVERFL,NOUND)
Controls whether the compiler produces extra code to check for
certain error conditions at run time.
The default is /CHECK=OVERFLOW. This qualifier can also be
specified on the OPTIONS statement.
The qualifiers /CHECK and /CHECK=ALL are equivalent, as are
/NOCHECK and /CHECK=NONE.
Enables or disables recovery for exceptions caused by access of
unaligned data by vector instructions.
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.
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.
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.
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.
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.
Same interpretation as /CHECK=(ALIGNMENT, ASSERTIONS, BOUNDS,
OVERFLOW, UNDERFLOW). (/CHECK=ALL is equivalent to /CHECK.)
Same interpretation as /CHECK=(NOALIGNMENT, NOASSERTIONS, NOBOUNDS,
NOOVERFLOW, NOUNDERFLOW). (/CHECK=NONE is equivalent to /NOCHECK.)
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.