// This testcase failed on s390, because cross-jumping merged 2 calls, // one with REG_EH_REGION note with no handlers (ie. termination) // and one without REG_EH_REGION note. // { dg-do run } // { dg-options "-O2" } #include <exception> #include <string> struct E : public std::exception { std::string m; E () : m ("test") { } ~E () throw() { } }; struct C : public E { }; void foo () { throw C (); } int main () { try { foo (); } catch (...) { } }