// Reduced from PR c++/5246, PR c++/2447 // { dg-options "-O -fomit-frame-pointer" } // { dg-do run } void step (int) { void *sp = __builtin_alloca (0); } void f2 (void) { step (2); throw int(); } void f1 (void) { try { step (1); f2 (); step (-1); } catch (int) { step (3); } } int main () { f1 (); return 0; }