blob: cc353a7e5c34f56b1d5233e87993659a6c02f3c2 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -Wall" } */
/* { dg-require-effective-target nonlocal_goto } */
#include <setjmp.h>
jmp_buf *alloc_jmp_buf ();
int foo (void *);
int
test (int op, int noside)
{
void *argvec = 0;
if (op)
{
jmp_buf *buf = alloc_jmp_buf (); /* { dg-bogus "uninitialized" } */
setjmp (*buf);
if (noside)
goto nosideret;
do_call_it:
if (noside)
goto nosideret;
return foo (argvec);
}
argvec = __builtin_alloca (1);
goto do_call_it;
nosideret:
return 1;
}