| // { 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); | |
| } |