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