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.

Reply via email to