blob: cc353a7e5c34f56b1d5233e87993659a6c02f3c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/* { 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;
}
|