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.

Reply via email to