https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66461
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #3 from kargl at gcc dot gnu.org --- The bug surfaces at line 1439 in match.c. The line is gfc_match (" if ( %e ) ", &expr); /* Guaranteed to match. */ The comment is wrong. For some reason, splitting the expression across the two lines causes a match failure. Changing the above to m = gfc_match (" if ( %e ) ", &expr); if (m != MATCH_YES) return m; yields troutmask:sgk[232] gfc6 -c g5.f g5.f:5:72: Error: Syntax error in expression at (1) f951: Error: Unexpected end of file in 'g5.f' which yields a bogus error and the desired error.