[Bug c/57036] ice in update_ssa_across_abnormal_edges

2013-04-23 Thread rguenth at gcc dot gnu.org


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



--- Comment #2 from Richard Biener  2013-04-23 
11:06:50 UTC ---

Reduced testcase:



extern void g (void);

extern __inline __attribute__ ((__always_inline__,__leaf__))

f ()

{

  g ();

}

struct __jmp_buf_tag *b;

int jpgDecode_convert (unsigned i)

{

  if (i != 0)

f ();

  read_buf_open ();

  return _setjmp (b);

}



marking 'g' leaf as well fixes the ICE.



The inliner doesn't handle new abnormal edges appearing this way from

a 'leaf' function which isn't considered as possibly causing abnormal

goto edges.



I suppose all these setjmp ICEs are latent with carefully constructed

non-local goto testcases.


[Bug c/57036] ice in update_ssa_across_abnormal_edges

2013-04-23 Thread rguenth at gcc dot gnu.org


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



Richard Biener  changed:



   What|Removed |Added



 Status|UNCONFIRMED |ASSIGNED

   Last reconfirmed||2013-04-23

 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org

   |gnu.org |

 Ever Confirmed|0   |1



--- Comment #1 from Richard Biener  2013-04-23 
10:36:40 UTC ---

I will have a look.