Well, -check IS available under Linux!
Perhaps, you looked under "IDE Equivalent". If you look further below, it says:
Linux and OS X:
-check [keyword[, keyword...]]
Its documented in the man page.
-check [keyword[, keyword...]]
Checks for certain conditions at run time.
keyword Specifies the conditions to check. Possible values are:
none Disables all check options.
[no]arg_temp_created 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.
[no]output_conversion 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.
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.
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!