Table of Contents

Previous: -calltree

## Option: check

-check
    This switch is provided so that errors and warning messages can be turned off when ftnchek is used for purposes other than finding bugs, such as making declarations or printing the call tree. It is positional, so after turning all checks off, selected checks can be turned back on. The effect of -nocheck is to put all switches, numeric settings, and settings controlling lists of warnings to their turn-off values, as if they had all been specified with the -no prefix. Switches and settings that specify options and modes of operation, rather than controlling warnings, are unaffected. These are -columns, -crossref, -include, -intrinsic, -library, -list, -makedcls, -novice, -output, -pointersize, -project, -quiet, -reference, -resources, -sort, -source, -symtab, -vcg, -version, -wordsize, and -wrap. Default = yes.

    Parse errors (syntax errors due to unrecognized or malformed statements) are not suppressed by this switch, since the results may be incorrect if ftnchek has not parsed the program correctly.

    There are some miscellaneous errors and warning messages that are not controlled by any other switch, and so can be turned off only by this switch. Note that using -check following -nocheck only has the effect of turning these special warnings back on, and does not restore all the checks it turned off. These warnings are:

    o
      Module contains no executable statements.
    o
      In free source form, missing space where space is required (e.g. between a keyword and an identifier) or space present where none is allowed (e.g. within an identifier).
    o
      Zero or negative length specification in a data type declaration of the form type*len.
    o
      Array assigned to scalar.
    o
      Type mismatch between DO index and bounds.
    o
      Undefined common block declared in SAVE statement.
    o
      Intrinsic function explicitly declared with an incompatible type.
    o
      Unknown intrinsic function explicitly declared in an INTRINSIC statement.
    o
      Intrinsic function passed as a subprogram argument is not declared in an INTRINSIC statement.
    o
      Intrinsic function or statement function invoked incorrectly.
    o
      Function does not set return value prior to RETURN statement.
    o
      Parameter constant value not evaluated (this is ftnchek's fault, and it is just informing you of the fact).
    o
      Entry point of a subprogram is later used as a different subprogram's name.
    o
      Unknown keyword used in an I/O statement.
    o
      Illegal label reference (e.g. GOTO refers to a non-executable statement; I/O statement refers to a non-format statement).

    See also: -errors.

  Next: -columns