https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95682
--- Comment #2 from anlauf at gcc dot gnu.org --- Adding some printout after initializing the t1%x(:), do i = 1, size(t1%x) print *, len_trim (t1%x(i)), t1%x(i) end do I get for gcc-8: 5 three 5 three 5 three and for 9,10,11: 3 one 3 two 5 three That's not a typical regression, but rather wrong code replaced by other wrong code.