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