STRICT and NOSTRICT

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

Syntax

cDEC$ STRICT
cDEC$ NOSTRICT


c
Is one of the following: C (or c), !, or *. (See Syntax Rules for General Directives.)

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. STRICT and NOSTRICT 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.

The following forms are also allowed: !MS$STRICT and !MS$NOSTRICT

Compatibility

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

See Also: General Compiler Directives, /stand

Example

 ! 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