https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99348
--- Comment #4 from anlauf at gcc dot gnu.org --- This might actually be related to pr102521. The following variant compiles ok: program p type t character(3) :: c end type ! type(t), parameter :: x(1) = t('abc') type(t), parameter :: x(1) = spread (t('abc'), dim=1, ncopies=1) print *, x%c%len end