/* { dg-do compile } */ /* { dg-options "-O2 -Wall" } */ /* { dg-require-effective-target nonlocal_goto } */ #include 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; }