This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/66461] [4.9/5/6/7 Regression] ICE on missing end program in fixed source
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 20 May 2016 12:38:06 +0000
- Subject: [Bug fortran/66461] [4.9/5/6/7 Regression] ICE on missing end program in fixed source
- Auto-submitted: auto-generated
- References: <bug-66461-4 at http dot gcc dot gnu dot org/bugzilla/>
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.