[Bug middle-end/18861] [4.0 Regression] ICE Segmentation fault in try_crossjump_to_edge at ../../gcc/gcc/cfgcleanup.c:1637

2004-12-06 Thread belyshev at lubercy dot com

--- Additional Comments From belyshev at lubercy dot com  2004-12-06 22:58 
---
: Search converges between 2004-10-25-161001-trunk (#610) and
2004-10-26-161001-trunk (#611).

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18861


[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)

2004-12-06 Thread pinskia 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|-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