------- Comment #3 from rguenth at gcc dot gnu dot org 2010-01-14 11:56 ------- The issue is we have an invalid CFG:
{ int D.2137; Invalid sum of incoming frequencies 10000, should be 5000 M: <bb 3>: [LP 2] f (); <bb 4>: [LP 3] f (); goto <bb 6>; L: <L10>: [LP 3] goto <bb 10> (<L7>); note the block with two labels - we'll end up looking up the EH landing pad nr on L instead of <L10>. It is cfg-cleanup that when removing a forwarder block moves the label in it to that block via remove_bb (). -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2010-01-14 10:04:13 |2010-01-14 11:56:54 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42739