OSDN Git Service

* gcc.gd/struct/wo_prof_global_var.c: Use uninitialized integer
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / setjmp-4.c
1 /* { dg-do run } */
2 /* { dg-options "-O" } */
3
4 #include <setjmp.h>
5
6 extern void abort (void);
7
8 jmp_buf buf;
9
10 void raise0(void)
11 {
12   __builtin_longjmp (buf, 1);
13 }
14
15 int execute(int cmd)
16 {
17   int last = 0;
18
19   __builtin_setjmp (buf);
20
21   if (last == 0)
22     while (1)
23       {
24         last = 1;
25         raise0 ();
26       }
27
28   if (last == 0)
29     return 0;
30   else
31     return cmd;
32 }
33
34 int main(void)
35 {
36   if (execute (1) == 0)
37     abort ();
38
39   return 0;
40 }