This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/8617: [3.2 regression] ICE in merge_blocks_move_predecessor_nojumps, at cfgcleanup.c:650
- From: reichelt at igpm dot rwth-aachen dot de
- To: bwheadley at earthlink dot net, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: 18 Nov 2002 13:42:10 -0000
- Subject: Re: c++/8617: [3.2 regression] ICE in merge_blocks_move_predecessor_nojumps, at cfgcleanup.c:650
- Reply-to: reichelt at igpm dot rwth-aachen dot de, bwheadley at earthlink dot net, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
Old Synopsis: Internal compiler error in merge_blocks_move_predecessor_nojumps, at cfgcleanup.c:650
New Synopsis: [3.2 regression] ICE in merge_blocks_move_predecessor_nojumps, at cfgcleanup.c:650
State-Changed-From-To: open->analyzed
State-Changed-By: reichelt
State-Changed-When: Mon Nov 18 05:42:09 2002
State-Changed-Why:
Confirmed.
The bug can be reproduced with the following code snippet:
------------------snip here------------------
void foo (int *&p)
{
switch (*p)
{
case 3: p=0; break;
case 4: p=0; break;
case 5: p=0; break;
case 6: p=0; break;
case 7: p=0; break;
}
}
------------------snip here------------------
I get an ICE with gcc-3.2.1-20021111 (compiling with "g++ -O -fPIC -c"):
PR8617.cc: In function `void foo(int*&)':
PR8617.cc:11: Internal compiler error in merge_blocks_move_predecessor_nojumps,
at cfgcleanup.c:650
Please submit a full bug report, [etc.]
(Checked on i686-pc-linux-gnu and mips-sgi-irix6.5).
gcc 3.2 and mainline are not affected.
(The bug might be fixed already, see PR 8592.)
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8617