Home | History | Annotate | Download | only in jni
      1 // { dg-do run { xfail sparc64-*-elf arm-*-pe } }
      2 // { dg-options "-fexceptions" }
      3 
      4 int fail = 0;
      5 
      6 struct A {
      7   int ok;
      8   A() {
      9     ok = 1;
     10   }
     11   ~A() {
     12     if (! ok)
     13       fail = 1;
     14     ok = 0;
     15   }
     16 };
     17 
     18 int main() {
     19   try {
     20     try {
     21       A  a;
     22       throw 1.0;
     23     } catch (double i) {
     24       A a1;
     25       throw 1;    // make sure both a1 and a2 are not destroyed when we throw!
     26     } catch (int i) {
     27       A a2;
     28       throw 1.0;
     29     }
     30   } catch (int i) {
     31   }
     32   return fail;
     33 }
     34