]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/non-local-goto-1.c
replace ISL with isl
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / non-local-goto-1.c
CommitLineData
4f6c2131
EB
1/* { dg-do run } */
2/* { dg-options "-O2" } */
631da28e 3/* { dg-require-effective-target nonlocal_goto } */
4f6c2131
EB
4
5extern void abort (void);
6
7int global;
8
8ece1ab3 9static int foo(void) __attribute__((noinline));
4f6c2131 10
8ece1ab3 11static int foo(void)
4f6c2131
EB
12{
13 global = 1;
14}
15
8ece1ab3 16static int bar(void)
4f6c2131
EB
17{
18 foo ();
19}
20
21int execute(int cmd)
22{
23 __label__ start;
24
25 void raise(void)
26 {
27 goto start;
28 }
29
30 int last;
31
32 bar ();
33
34 last = 0;
35
36start:
37
38 if (last == 0)
39 while (1)
40 {
41 last = 1;
42 raise ();
43 }
44
45 if (last == 0)
46 return 0;
47 else
48 return cmd;
49}
50
51int main(void)
52{
53 if (execute (1) == 0)
54 abort ();
55
56 return 0;
57}