The /CHECK qualifier causes the compiler to generate code to test for
arithmetic overflow and for array references outside array boundaries when
the program executes.
The format of the /CHECK qualifier is as follows:
/[NO]CHECK[=({[NO]BOUNDS },...)]
{[NO]OVERFLOW[=([NO]INTEGER,[NO]DECIMAL)]}
{ALL }
{NONE }
where:
BOUNDS checks array subscripts to ensure that they are within
array boundaries specified by the program.
OVERFLOW enables the detection of arithmetic overflow for integer
and packed decimal operations.
The /CHECK qualifier specifies that both OVERFLOW and BOUNDS checking are
performed. The /NOCHECK qualifier specifies that no checking is
performed. If you specify /CHECK=OVERFLOW, overflow checking is enabled
for both integers and packed decimal numbers. Similarly, specifying
/CHECK=NOOVERFLOW disables overflow checking for both types of numbers.
Specifying /CHECK=NOBOUNDS means that your program is smaller and runs
faster. However, no error is signaled for an array reference outside the
bounds of an array. This means that the program may get a memory
management or access violation error at run time. Therefore, this option
should be used only for programs that have been thoroughly debugged and
whose execution time is critical.
The default is /CHECK = (BOUNDS, OVERFLOW).