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