https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103367
--- Comment #28 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
On a hunch I tried another example which also breaks.
program p
type inner
integer :: n = 3
end type
type outer
type(inner) :: a(2) = inner(1)
end type
type(outer), parameter :: x(1) = outer(inner(4))
integer, parameter :: y(2) = x(1)%a%n
print *, y
end
