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
Tue Jan 7 11:46:00 GMT 2003
The following reply was made to PR c/9163; it has been noted by GNATS.
From: Eric Botcazou <ebotcazou@libertysurf.fr>
To: "Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de>
Cc: bangerth@dealii.org,
gcc-bugs@gcc.gnu.org,
gcc-prs@gcc.gnu.org,
nobody@gcc.gnu.org,
gcc-gnats@gcc.gnu.org
Subject: Re: c/9163: [3.3/3.4 regression] ICE in genrtl_compound_stmt at c-semantics.c:776 with c99 mode
Date: Tue, 7 Jan 2003 12:41:17 +0100
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 2002121=
8
> 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>
=09PR opt/8794
=09* combine.c (force_to_mode) [MINUS]: Only replace with (not Y) if all
=09bits in fuller_mask (not just mask) are set in C.
which certainly can't be the culprit (the bug occurs earlier, during RTL=20
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 !=3D current_nesting_level ())
abort ();
#endif
that is, the parse error is confusing the regular handling of nested scop=
es.
So I think that the problem has been there for a long time, and that=20
Wolfgang's 20021213 version was configured with --disable-checking.
--=20
Eric Botcazou
More information about the Gcc-prs
mailing list