https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92753
--- Comment #5 from anlauf at gcc dot gnu.org --- It appears that the simplification of the %len fails. implicit none type t character :: c end type t type(t), parameter :: x = t('a') integer, parameter :: l = x%c%len ! error ! integer, parameter :: l = x%c%kind ! no error integer :: m = l print *, m end gives: pr92753-z2.f90:8:16: 8 | integer :: m = l | 1 Error: non-constant initialization expression at (1)