Home | History | Annotate | Download | only in jni
      1 // { dg-do run  }
      2 // Test that an exception thrown out of the constructor for the exception
      3 // object (i.e. "after completing evaluation of the expression to be thrown
      4 // but before the exception is caught") causes us to call terminate.
      5 
      6 #include <exception>
      7 #include <cstdlib>
      8 
      9 void my_terminate ()
     10 {
     11   std::exit (0);
     12 }
     13 
     14 struct A
     15 {
     16   A () {}
     17   A (const A&) { throw 1; }
     18 };
     19 
     20 int main (void)
     21 {
     22   std::set_terminate (my_terminate);
     23 
     24   A a;
     25   try { throw a; }
     26   catch (...) {}
     27   return 1;
     28 }
     29