1// This testcase failed on s390, because cross-jumping merged 2 calls, 2// one with REG_EH_REGION note with no handlers (ie. termination) 3// and one without REG_EH_REGION note. 4// { dg-do run } 5// { dg-options "-O2" } 6 7#include <exception> 8#include <string> 9 10struct E : public std::exception 11{ 12 std::string m; 13 E () : m ("test") { } 14 ~E () throw() { } 15}; 16 17struct C : public E { }; 18 19void foo () 20{ 21 throw C (); 22} 23 24int main () 25{ 26 try 27 { 28 foo (); 29 } 30 catch (...) { } 31} 32