// { dg-do run } | |
// Test that unwinding properly restores SP. | |
// Contributed by Jason Merrill <jason@cygnus.com> | |
void f (int i) | |
{ | |
throw i; | |
} | |
int main () | |
{ | |
void *sp1 = __builtin_alloca (0); | |
try | |
{ | |
f (0); | |
} | |
catch (int) | |
{ | |
} | |
void *sp2 = __builtin_alloca (0); | |
return (sp1 != sp2); | |
} |