http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47645
Summary: Generic vector lowering does not preserve EH information Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: rgue...@gcc.gnu.org typedef int __attribute__ ((vector_size (8))) vec; vec foo (vec v1, vec v2) { try { return v1 / v2; } catch (...) { throw; } } will be lowered to piecewise operations that do not throw and have no EH landing pad associated (and blocks not split, etc.). Split out from PR47639 where this issue uncovers as an ICE. The vector lowering code needs some re-org to properly transition EH info. This bug isn't a regression.