Home | History | Annotate | Download | only in jni
      1 // { dg-do run  }
      2 // Bug: catching pointers by reference doesn't work right.
      3 
      4 extern "C" int printf (const char *, ...);
      5 
      6 struct E {
      7   int x;
      8   E(int i) { x = i; }
      9 };
     10 
     11 int main()
     12 {
     13   try {
     14     E *p = new E(5);
     15     throw p;
     16   }
     17 
     18   catch (E *&e) {
     19     printf ("address of e is 0x%lx\n", (__SIZE_TYPE__)e);
     20     printf ("(__SIZE_TYPE__)e: %d ( != 5 ?)\n", (__SIZE_TYPE__)e);
     21     printf ("            e->x: %d ( == 5 ?)\n", e->x);
     22     return !((__SIZE_TYPE__)e != 5 && e->x == 5);
     23   }
     24   return 2;
     25 }
     26