If the program ----------------------- __complex__ double f (__complex__ double x, double y) { try { return x / y; } catch (char *s) { return x; } } ---------------------- is compiled with "cc1plus bug.cc -fnon-call-exceptions", it fails with the error:
/home/espindola/bug.cc:7: error: statement marked for throw, but doesn't D.1661 = __divdc3 (D.1667, D.1668, D.1669, D.1670); /home/espindola/bug.cc:7: internal compiler error: verify_stmts failed -- Summary: can't use complex in a eh region if non-call-exceptions is enabled Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: espindola at google dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36191