Syntax:
The /check, /4Yb, or /4Nb options control whether extra code is generated for certain run-time checking. Run-time checks can result in issuing run-time messages for certain conditions.
In the visual development environment, specify the Runtime Error Checking items in the Run time Compiler Option Category. The /check options are as follows:
/check:arg_temp_created (Actual Arguments use Temporary Storage) |
/check:bounds (Array and String bounds) |
/check:flawed_pentium (ia32 systems) (Flawed Pentium) |
/check:format (Edit Descriptor Data Type) |
/check:output_conversion (Edit Descriptor Data Size) |
/check:overflow (Integer Overflow) |
/check:power (Power Operations) |
/check:underflow (Floating Point Underflow) |
/4Yb | /check:none, /nocheck, or /4Nb |
/check or /check:all |
If you omit these options, the default is:
/check:(noarg_temp_created,nobounds,flawed_pentium,noformat,nopower,nooutput_conversion,nooverflow,nounderflow).
When using the visual development environment debug configuration, the default for bounds checking changes from /check:nobounds to /check:bounds.
The /check keywords and /4Yb, and /4Nb options are:
Requests that a run-time informational message appear if actual arguments are copied into temporary storage before routine calls. Specifying /check:noarg_temp_created (the default) does not generate the extra code needed to display a message run-time when this condition occurs.
Requests a run-time error message if a reference to an array subscript or character substring is outside of the declared bounds. The default for the command line and the release configuration (visual development environment) is /check:nobounds, which does not issue a run-time message for this condition. The default for the debug configuration is /check:bounds, which issues a run-time message for an out-of-bounds array subscript or character substring.
On ia32 systems, requests a run-time error message if a flawed Pentium (586) processor is detected. The default is /check:flawed_pentium, which does issue a run-time error message for this condition and stops program execution. To allow program execution to continue when this condition occurs, set the environment variable FOR_RUN_FLAWED_PENTIUM to true and rerun the program (see Run-Time Environment Variables).
For more information on the Pentium flaw, see Intel Pentium Floating-Point Flaw. You can also use the FOR_CHECK_FLAWED_PENTIUM routine.
Requests a run-time error message when the data type for an item being formatted for output does not match the FORMAT descriptor. Specifying /check:noformat suppresses the run-time error message for this condition.
Requests a run-time message (number 63) when format truncation occurs (when a number is too large to fit in the specified format field length without loss of significant digits). Specifying /check:nooutput_conversion does not display the message when format truncation occurs.
Requests a continuable run-time message when integer overflow occurs. Specifying /check:nooverflow suppresses the run-time message.
Requests a run-time error message for arithmetic expressions 0.0 ** 0.0 and negative-value ** integer-value-of-type-real. The default is /check:nopower (suppress the run-time error message), allowing the calculations to occur, where 0.0 ** 0.0 equals 1.0 and (-3.0) ** 3.0 equals -27.0.
You can specify /check:power to allow a run-time error message to be issued for this type of expression.
Requests an informational run-time message when floating-point underflow occurs when /fpe:0 is specified (/check:underflow is not supported with /fpe:3). Specifying /check:nounderflow suppresses a run-time message when floating-point underflow occurs.
Sets /check:(overflow,bounds,underflow).
Equivalent to:
/check:(noarg_temp_created,nobounds,noformat,nopower,nooutput_conversion,nooverflow,nounderflow).
Equivalent to:
/check:(arg_temp_created,bounds,flawed_pentium,format,power,output_conversion,overflow,underflow).