https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70260
--- Comment #5 from Harald Anlauf <anlauf at gmx dot de> --- (In reply to Harald Anlauf from comment #4) Funny. Doubling the bad assignment subroutine s (f) integer, external :: f, g integer :: h g = f(2) g = f(2) end gives: pr70260-z3.f90:5:4: g = f(2) 1 Error: 'g' at (1) is not a variable pr70260-z3.f90:4:3: g = f(2) 1 Error: 'g' in variable definition context (assignment) at (1) is not a variable