c/9163: [3.3/3.4 regression] ICE in genrtl_compound_stmt at c-semantics.c:776 with c99 mode
Eric Botcazou
ebotcazou@libertysurf.fr
Mon Jan 13 05:17:00 GMT 2003
On Tuesday 07 January 2003 11:09, Christian Ehrhardt wrote:
> > Confirmed. I could not reproduce this with a 3.2.2 from
> > 20021213, though. Which version did you use, Christian?
>
> 20021218 ICEs, i.e. the bug was introduced between 20021213 and 20021218
> into the 3.2 branch. Here's the output of gcc-3.2.2 on sparc:
I'm very skeptical, because the only change between 20021213 and 20021218 was:
2002-12-17 Jakub Jelinek <jakub@redhat.com>
PR opt/8794
* combine.c (force_to_mode) [MINUS]: Only replace with (not Y) if all
bits in fuller_mask (not just mask) are set in C.
which certainly can't be the culprit (the bug occurs earlier, during RTL
generation).
The ICE is triggered by:
#ifdef ENABLE_CHECKING
/* Make sure that we've pushed and popped the same number of levels. */
if (!COMPOUND_STMT_NO_SCOPE (t) && n != current_nesting_level ())
abort ();
#endif
that is, the parse error is confusing the regular handling of nested scopes.
So I think that the problem has been there for a long time, and that
Wolfgang's 20021213 version was configured with --disable-checking.
--
Eric Botcazou
More information about the Gcc-bugs
mailing list