Specification statement order

Requiring an IMPLICIT statement to precede a PARAMETER statement is a syntax rule in Fortran 2023 5.3.2 Table 5.1 (or Fortran 90 2.3.1 Figure 2.1) but neither gfortran nor ifx enforces it. Test program:

program stmtorder2
  parameter (N=100)
  implicit double precision (a-h,o-z)
  a = 7/9d0
  print "(F0.17)", a
end program stmtorder2

Both compilers print .77777777777777779 but shouldn’t they refuse to compile the program?

1 Like

Only IMPLICIT NONE must precede PARAMETER.
Other IMPLICIT statements are on the same level as PARAMETER

2 Likes