https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87644
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> --- Note that most of the variants seem to be handled fine, e.g. the following seems to work; all variants output: 5 and 7. The issue seems to also relate to having the the "parameter..." in the parent scope. (And the current scope can either use the variable of override it by its own.) implicit none integer :: parameterA = 5 integer :: A parameter(A = 7) ! Variant A - valid Fortran parameter A = 7 ! Variant B - legacy extension parameterA = 7 ! Variant C - ditto, but why no space required with free form? print *, parameterA print *, A end