Run-time checking options
A significant feature of FTN95 is its ability to implement a range of powerful
run-time checks that help the programmer to develop error free code. The
options in this group direct the compiler to plant code that carries out these
checks. /CHECKMATE (which is the same as /FULL_UNDEF) provides comprehensive
checking and is recommended for normal development.
Win32 only. Implies both /CHECK and /LGO and
causes a break to the symbolic debugging facility at the first executable
Check array subscripts only (/CHECK includes /BOUNDS_CHECK).
Causes code to be planted in order to enable the run-time checking of array
bounds, overflow etc., and also to enable the use of the source-level debugging
facilities (/CHECK implies /DEBUG).
A synonym for /FULL_UNDEF. /FULL_UNDEF implies /UNDEF which in turn implies
causes FTN95 to generate symbolic information and to activate the symbolic
debugger when fatal errors occur. /DEBUG is included in both /CHECK and /UNDEF
which are normally preferred. /DEBUG can be used on its own in order to allow
the debugger to be used on "dirty" code, which intentionally violates some of
the rules of Fortran.
Outputs full debugging information including PARAMETERs
Like /UNDEF but also INTENT(OUT) arguments are initialised as undefined on
entry to a procedure (see /INHIBIT_CHECK to switch this off) and by
default character variables are initialised as undefined. The reading of an
undefined value precipitates an error condition.
Prevent the specified check being added with /CHECK and /FULL_UNDEF as follows:
1 - suppress marking DO-loop indices as unwritable in a function call
2 - suppress marking INTENT(IN) arguments as unwritable in a function call
3 - suppress POINTER checking partially
4 - suppress POINTER checking completely
5 - suppress the argument type/size checking on function entry
6 - suppress the extra information added to a CHECK mode function call
7 - suppress CHARACTER length checks on procedure entry
8 - suppress UNDEF check with WRITE/PRINT statements
9 - suppress FULL_UNDEF check with CHARACTER WRITE/PRINT statements
10 - suppress checking of overwriting of DO-loop index using "(Writability of
11 - suppress checking of overwriting of DO-loop index after SUBROUTINE call
using "(Value of ...)"
12 - suppress checking of overwriting of DO-loop index after FUNCTION call
using "(Value of ...)"
13 - suppress checking of overwriting of EQUIVALENCEd/COMMON DO-loop index
after assignment using "(Value of ...)"
14 - suppress FULL_UNDEF check with INTENT(OUT)
Suppresses /CHECK mode checking for argument consistency across routines.
Implies /CHECK and also causes code to be planted in order to do run-time
checking for any undefined variables or array elements.