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: [email protected]
ReportedBy: [email protected]
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.