1 // { dg-do run } 2 // { dg-options "-O" } 3 // { dg-require-effective-target alloca } 4 typedef struct { } e; 5 6 char *p; 7 8 void _Jv_throw (); 9 barf(int len)10int barf (int len) 11 { 12 char a[len]; 13 14 p = a; 15 _Jv_throw (); 16 return 0; 17 } 18 _Jv_throw()19void _Jv_throw () 20 { 21 e ex; 22 throw ex; 23 } 24 main()25int main () 26 { 27 try { 28 barf (2); 29 } 30 catch (...) { 31 } 32 33 return 0; 34 } 35