Copyright Digital Equipment Corp. All rights reserved.

STRICT_and_NOSTRICT

 cDEC$ STRICT
 cDEC$ NOSTRICT

 The STRICT directive disables language features not found in the
 language standard specified on the command line (Fortran 95 or
 Fortran 90).  The NOSTRICT directive (the default) enables these
 language features.

 The "c" in cDEC$ is one of the following:  a C (or c), !, or *.

 If STRICT is specified and no language standard is specified on the
 command line, the default is to disable features not found in
 Fortran 90.

 The STRICT and NOSTRICT directives can appear only appear at the
 top of a program unit.  A program unit is a main program, an
 external subroutine or function, a module or a block data program
 unit.  The directives cannot appear between program units, or at
 the beginning of internal subprograms.  They do not affect any
 modules invoked with the USE statement in the program unit that
 contains them.

 For compatibility, !MS$STRICT and !MS$NOSTRICT can be used in place
 of cDEC$ STRICT and cDEC$ NOSTRICT.

 Examples:

 Consider the following:

 ! NOSTRICT by default
 TYPE stuff
    INTEGER(4) k
    INTEGER(4) m
    CHARACTER(4) name
 END TYPE stuff
 TYPE (stuff) examp
 DOUBLE COMPLEX cd    ! non-standard data type, no error
 cd =(3.0D0, 4.0D0)
 examp.k = 4          ! non-standard component designation, 
                      !   no error
 END

 SUBROUTINE STRICTDEMO( )
    !DEC$ STRICT
     TYPE stuff
       INTEGER(4) k
       INTEGER(4) m
       CHARACTER(4) name
    END TYPE stuff
    TYPE (stuff) samp
    DOUBLE COMPLEX cd      ! ERROR
    cd =(3.0D0, 4.0D0)
    samp.k = 4             ! ERROR
 END SUBROUTINE