http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56694
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-25
12:49:34 UTC ---
It's the lower RESX pass that causes the location to appear. And likely
bogus locations in the EH on-the-side info:
x = gimple_build_call (fn, 0);
gimple_set_location (x, dst_r->u.must_not_throw.failure_loc);
thus, the must_not_throw failure_loc either shouldn't have a BLOCK associated
or it needs re-mapping during inlining / cloning.
Using LOCATION_LOCUS above fixes the ICE.