Comprehensive run-time diagnostic facilities are provided by the system in such a way that users can always choose the level of checks that are applied to any part of their program.
During the early stages of program development, it is useful to have all or most of these checks performed by the system but later, when the program is thought to be thoroughly tested, it is usual to remove checks in order to achieve the fastest possible execution speed and smallest possible object program size. If new routines or lines of code are added to an existing program, it is a simple matter to specify that checks should be performed only on the pro gram units that have been changed.
The available run-time diagnostic information is controlled by directives which may appear before any program unit. Note that the default level of checks to be applied can be set by one of the FTN95 compile-time options /CHECK, /UNDEF or /QUICK_BOUNDS. These keywords may also appear as part of an OPTIONS directive.
For example:
OPTIONS (CHECK)
OPTIONS (UNDEF,CHECK)
Once an error has been detected by the checking mechanism, execution terminates and the system enters the symbolic debugger to give diagnostic information.
The run-time checks are described more fully in the topics that follow in browse order.