https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66461
--- Comment #13 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- > I have a patch testing for this. I am not sure this is a regression. > I see it as far back as 4.5. I don't have any earlier builds. Gcc-4.3.1 and 4.4.7 give the errors pr66461.f:4.27: if ( x(1) < 0 .or. 1 Error: Syntax error in expression at (1) Error: Unexpected end of file in 'pr66461.f' > My thinking is that since this is an ICE on invalid code, I don't want > to bother with backports, unless this is just really burning someone somehow. Although I partially agree with that, I don't understand why if ( x(1) < 0 .or. & x(2) < 0 ) print *, x does not trigger any matching error in free form, while if ( x(1) < 0 .or. & x(2) < 0 ) print *, x does in fixed form. IMO there is latent bug in the parser.