https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98016
--- Comment #3 from Jürgen Reuter <juergen.reuter at desy dot de> --- Ah wait, the version I committed works, the original version from c.l.f. still fails, because it uses implicit typing, so not real :: y(3) and real :: y(n), but dimension y(3) $ cat clf_20201126.f90 program is_it_valid dimension y(3) n=3 y=func(0.) stop contains function func(x) result (y) dimension y(n) y=x end function func end program is_it_valid