-check is missing from online documentation for Linux

-check is missing from online documentation for Linux

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Perhaps, you looked under "IDE Equivalent". If you look further below, it says:


Linux and OS X:

-check [keyword[, keyword...]]



/check[:keyword[, keyword...]]


Its documented in the man page.

-check [keyword[, keyword...]]


Checks for certain conditions at run time.

Architectures: All


keyword Specifies the conditions to check. Possible values are:

none Disables all check options.

Determines whether checking occurs for actual arguments before
routine calls.

[no]bounds Determines whether checking occurs for array subscript and char-
acter substring expressions.

[no]format Determines whether checking occurs for the data type of an item
being formatted for output.

Determines whether checking occurs for the fit of data items
within a designated format descriptor field.

[no]pointers Determines whether checking occurs for certain disassociated or
uninitialized pointers or unallocated allocatable objects.

[no]stack Determines whether checking occurs on the stack frame.

[no]uninit Determines whether checking occurs for uninitialized variables.

all Enables all check options.


nocheck No checking is performed for run-time failures. Note that if option vms is spec-
ified, 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 mes-
sage is displayed.

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 dimen-
sion 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.

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 exam-
ple, 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 INTE-
GER*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.

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.

To get more detailed location information about where an error occurred, use option traceback.

Alternate Options:

check none Linux and OS X: -nocheck

check bounds Linux and OS X: -CB

check uninit Linux and OS X: -CU

check all Linux and OS X: -check, -C

Thank you, but none of that was my main point, which is that that page is thoroughly confusing to any reader who is not embedded into the Intel development tools environment, and there are a LOT of such people in both commerce and research.  Good documentation should attempt to minimise confusion, irrespective of whether that is the 'fault' of the reader.

The page you are looking at perhaps is confusing and could be better organized.  Where it says Linux: None, that is referring to options you can select in an IDE and what compiler options that each option generates.  There are listings for windows and OSX because of the integration with MSVS and XCode, but there is no IDE integration in Linux so there are no options in an IDE to select. Just below that where the actual -check options are decribed it is clear that Linux supports the -check flag.  

I would agree that moving the IDE equivalents section somewhere toward the bottom, or at least underneat the actual initial documentation for -check could minimize the misinterpretation of that section.

Yes, precisely.  Or changing "None" to "Available only in the command line".  Or whatever, or several of them!

Leave a Comment

Please sign in to add a comment. Not a member? Join today