https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66545
--- Comment #1 from Gerhard Steinmetz <gerhard.steinmetz.fort...@t-online.de> --- Trivially, the following cases behave similar : $ cat z1_real.f90 program p real, parameter :: c1 = (c1) real, parameter :: c2 = c2 real :: c3 = (c3) real :: c4 = c4 real :: c5 real :: c6 c5 = (c5) c6 = c6 end $ cat z1_integer.f90 program p integer, parameter :: c1 = (c1) integer, parameter :: c2 = c2 integer :: c3 = (c3) integer :: c4 = c4 integer :: c5 integer :: c6 c5 = (c5) c6 = c6 end $ cat z1_logical.f90 program p logical, parameter :: c1 = (c1) logical, parameter :: c2 = c2 logical :: c3 = (c3) logical :: c4 = c4 logical :: c5 logical :: c6 c5 = (c5) c6 = c6 end $ cat z1_character.f90 program p character, parameter :: c1 = (c1) character, parameter :: c2 = c2 character :: c3 = (c3) character :: c4 = c4 character :: c5 character :: c6 c5 = (c5) c6 = c6 end $ cat z1_type.f90 program p type t; end type type(t), parameter :: c1 = (c1) type(t), parameter :: c2 = c2 type(t) :: c3 = (c3) type(t) :: c4 = c4 type(t) :: c5 type(t) :: c6 c5 = (c5) c6 = c6 end