The STRICT directive disables language features not found in the Fortran 90 language standard. The NOSTRICT directive (the default) enables these language features.
These directives take the following forms: [See Note]
cDEC$ STRICT cDEC$ NOSTRICT
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.
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
!MS$STRICT
and !MS$NOSTRICT
For details on syntax rules for all general directives, see Section 15.1.1.