This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/18861] [4.0 Regression] ICE Segmentation fault in try_crossjump_to_edge at ../../gcc/gcc/cfgcleanup.c:1637 with two switches (table jumps)
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Dec 2004 23:07:59 -0000
- Subject: [Bug middle-end/18861] [4.0 Regression] ICE Segmentation fault in try_crossjump_to_edge at ../../gcc/gcc/cfgcleanup.c:1637 with two switches (table jumps)
- References: <20041206224132.18861.belyshev@lubercy.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-06 23:07 -------
: Search converges between 2004-10-26-161001-trunk (#611) and 2004-11-03-014001-trunk
(#612).
Confirmed.
Here is a testcase down to one function:
extern void abort (void) __attribute__ ((__noreturn__));
int reversed_comparison_code_parts (int code, int code2)
{
int D1131;
if (code >= 3)
{
switch (code)
{
case 3: return 4;
case 4: return 3;
case 5: return 6;
case 6: return 7;
case 7: return 8;
case 8: return 5;
default : abort ();
}
}
switch (code)
{
case 3: return 4;
case 4: return 3;
case 5: return 6;
case 6: return 7;
case 7: return 8;
case 8: return 5;
default : abort ();
}
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2004-12-06 23:07:59
date| |
Summary|[4.0 Regression] ICE |[4.0 Regression] ICE
|Segmentation fault in |Segmentation fault in
|try_crossjump_to_edge at |try_crossjump_to_edge at
|../../gcc/gcc/cfgcleanup.c:1|../../gcc/gcc/cfgcleanup.c:1
|637 |637 with two switches (table
| |jumps)
Target Milestone|--- |4.0.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18861