VMS Help
FORTRAN, /CHECK

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

  /[NO]CHECK[=(option[,...])] D=/CHECK=(NOALI,NOASS,NOBOU,OVERFL,NOUND)

  Controls whether the compiler produces extra code to check for
  certain error conditions at run time.

  The default is /CHECK=OVERFLOW.  This qualifier can also be
  specified on the OPTIONS statement.

  The qualifiers /CHECK and /CHECK=ALL are equivalent, as are
  /NOCHECK and /CHECK=NONE.

  1 - ALIGNMENT

  Enables or disables recovery for exceptions caused by access of
  unaligned data by vector instructions.

  If /CHECK=ALIGNMENT is specified, the compiler establishes an
  exception handler for the program; this handler prevents vector
  alignment exceptions from terminating the program and allows
  continued execution at the cost of decreased performance.  At the
  end of program execution, a message is displayed giving the total
  number of vector alignment exceptions handled.

  2 - ASSERTIONS

  Enables or disables assertion checking.  Assertions give the
  compiler information that can resolve ambiguous data dependences.

  If /CHECK=ASSERTIONS is specified, the compiler will generate the
  appropriate run-time code to evaluate the asserted expression.  If
  the assertion tests false at run time, the program is stopped and
  an error message is issued.

  If /CHECK=NOASSERTIONS is specified, the compiler is free to use
  the information in the assertions in its optimizations and
  transformations, but no code is generated to test the validity of
  the assertions at run time.  Assertions can be coded as statements
  or general compiler directives:

     CDEC$ ASSERT (e)
           ASSERT (e)

     Where e is a logical expression.

  3 - BOUNDS

  Enables or disables bounds checking.  If /CHECK=BOUNDS is
  specified, each dimension of an array reference or substring
  subscript reference is checked to determine whether it is within
  the range of the dimension specified by the array or character
  variable declaration.

  /CHECK=NOBOUNDS specifies no checking and presumes that no
  subscripts exceed their declared bounds.

  /CHECK=BOUNDS is not supported when /VECTOR or /PARALLEL=AUTOMATIC
  is in effect.

  4 - OVERFLOW

  Enables or disables integer overflow traps.  If /CHECK=OVERFLOW is
  specified, fixed-point calculations involving BYTE, INTEGER*2, and
  INTEGER*4 data types are checked for arithmetic overflow.  Real and
  complex calculations are always checked for overflow and are not
  affected by /NOCHECK.  Integer exponentiation is performed by a
  routine in the mathematical library.  The routine in the
  mathematical library always checks for overflow, even if
  /CHECK=NOOVERFLOW is specified.

  5 - UNDERFLOW

  Enables or disables floating underflow exceptions.  If
  /CHECK=UNDERFLOW is specified, error messages are issued for the
  first two floating underflows.  Regardless of the setting of the
  UNDERFLOW qualifier, zero is stored as the result that underflowed
  and the program continues.

  6 - ALL

  Same interpretation as /CHECK=(ALIGNMENT, ASSERTIONS, BOUNDS,
  OVERFLOW, UNDERFLOW).  (/CHECK=ALL is equivalent to /CHECK.)

  7 - NONE

  Same interpretation as /CHECK=(NOALIGNMENT, NOASSERTIONS, NOBOUNDS,
  NOOVERFLOW, NOUNDERFLOW).  (/CHECK=NONE is equivalent to /NOCHECK.)
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.