Intel® Fortran Compiler 17.0 Developer Guide and Reference
Checks for certain conditions at run time.
Linux and macOS: | -check [keyword[, keyword...]] -nocheck |
Windows: | /check[:keyword[, keyword...]] /nocheck |
keyword |
Specifies the conditions to check. Possible values are:
|
nocheck |
No checking is performed for run-time failures. Note that if option vms is specified, the defaults are check format and check output_conversion. |
This option checks for certain conditions at run time.
Option |
Description |
---|---|
check none |
Disables all check options (same as nocheck). |
check arg_temp_created |
Enables run-time checking on whether actual arguments are copied into temporary storage before routine calls. If a copy is made at run-time, an informative message is displayed. |
check assume |
Enables run-time checking on whether the scalar-Boolean-expression in the ASSUME directive is true and that the addresses in the ASSUME_ALIGNED directive are aligned on the specified byte boundaries. If the test is .FALSE., a run-time error is reported and the execution terminates. |
check bounds |
Enables compile-time and run-time checking for array subscript and character substring expressions. An error is reported if the expression is outside the dimension of the array or the length of the string. For array bounds, each individual dimension is checked. For arrays that are dummy arguments, only the lower bound is checked for a dimension whose upper bound is specified as * or where the upper and lower bounds are both 1. For some intrinsics that specify a DIM= dimension argument, such as LBOUND, an error is reported if the specified dimension is outside the declared rank of the array being operated upon. Once the program is debugged, omit this option to reduce executable program size and slightly improve run-time performance. It is recommended that you do bounds checking on unoptimized code. If you use option check bounds on optimized code, it may produce misleading messages because registers (not memory locations) are used for bounds values. |
check format |
Issues the run-time FORVARMIS fatal error when the data type of an item being formatted for output does not match the format descriptor being used (for example, a REAL*4 item formatted with an I edit descriptor). With check noformat, the data item is formatted using the specified descriptor unless the length of the item cannot accommodate the descriptor (for example, it is still an error to pass an INTEGER*2 item to an E edit descriptor). |
check output_conversion |
Issues the run-time OUTCONERR continuable error message when a data item is too large to fit in a designated format descriptor field without loss of significant digits. Format truncation occurs, the field is filled with asterisks (*), and execution continues. |
check pointers |
Enables run-time checking for disassociated or uninitialized Fortran pointers, unallocated allocatable objects, and integer pointers that are uninitialized. |
check stack |
Enables checking on the stack frame. The stack is checked for buffer overruns and buffer underruns. This option also enforces local variables initialization and stack pointer verification. This option disables optimization and overrides any optimization level set by option O. |
check uninit |
Enables run-time checking for uninitialized variables. If a variable is read before it is written, a run-time error routine will be called. Only local scalar variables of intrinsic type INTEGER, REAL, COMPLEX, and LOGICAL without the SAVE attribute are checked. |
check all |
Enables all check options. This is the same as specifying check with no keyword. This option disables optimization and overrides any optimization level set by option O. |
To get more detailed location information about where an error occurred, use option traceback.
Visual Studio:
Run-time > Runtime Error Checking (/nocheck, /check:all)
Run-time > Check Array and String Bounds (/check:bounds)
Run-time > Check Uninitialized Variables (/check:uninit)
Run-time > Check Edit Descriptor Data Type (/check:format)
Run-time > Check Edit Descriptor Data Size (/check:output_conversion)
Run-time > Check For Actual Arguments Using Temporary Storage (/check:arg_temp_created)
Run-time > Check For Null Pointers and Allocatable Array References (/check:pointers)
Eclipse: None
Xcode: Run-time > Runtime Error Checking (-check all, -check none)
Run-time > Check Array and String Bounds (-check [no]bounds)
Run-time > Check Edit Descriptor Data Type (-check [no]format)
Run-time > Check Edit Descriptor Data Size (-check [no]output_conversion)
Run-time > Check For Actual Arguments Using Temporary Storage (-check [no]arg_temp_created)
Run-time > Check for Uninitialized Variables (-check [no]uninit)
Run-time > Check For Null Pointers and Allocatable Array References (/check:[no]pointers)
Run-time > Check Stack Frame (/check:[no]stack)
check none |
Linux and OS X: -nocheck Windows: /nocheck |
check bounds |
Linux and OS X: -CB Windows: /CB |
check uninit |
Linux and OS X: -CU Windows: /RTCu, /CU |
check all |
Linux and OS X: -check, -C Windows: /check, /C |