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