Intel® Fortran Compiler 18.0 Developer Guide and Reference

FREEFORM and NOFREEFORM

General Compiler Directives: FREEFORM specifies that source code is in free-form format. NOFREEFORM specifies that source code is in fixed-form format.

!DIR$ FREEFORM

!DIR$ NOFREEFORM

When the FREEFORM or NOFREEFORM directives are used, they remain in effect for the remainder of the program unit, or until the opposite directive is used. When in effect, they apply to include files, but do not affect USE modules, which are compiled separately.

Example

Consider the following:

      SUBROUTINE F (A, NX,NY,I1,I2,J1,J2)
! is in column 1 and fixed form
!     X is in column 7
      REAL (8) :: A (NX,NY)
!DIR$ ASSUME_ALIGNED A:32
!DIR$ FREEFORM          ! what follows is freeform
  !DIR$ ASSUME (MOD(NX,8) .EQ. 0)
  ! ensure that the first array access in the loop is aligned
  !DIR$ ASSUME (MOD(I1,8) .EQ. 1)
    DO J=J1,J2
      DO I=I1,I2
        A(I,J) = A(I,J) + A(I,J+1) + A(I,J-1)
      ENDDO
    ENDDO
  !DIR$ NOFREEFORM            ! and now back to fixed form
       END SUBROUTINE F

See Also