### 15.1.18 STRICT and NOSTRICT Directives

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.

These directives take the following forms: [See Note]

  cDEC$ STRICT
  cDEC$ NOSTRICT
  c
  Is one of the following: C (or c), !, or * (see Section 15.1.1).

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.

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

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

For More Information:

For details on syntax rules for all general directives, see Section 15.1.1.

Previous Page Next Page Table of Contents