2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
[official-gcc.git] / gcc / testsuite / gcc.dg / setjmp-3.c
blob306861d25c3aecd0e0d28d02f5908667f5e21fce
1 /* { dg-do run } */
2 /* { dg-options "-O" } */
4 #include <setjmp.h>
6 extern void abort (void);
8 jmp_buf buf;
10 void raise0(void)
12 __builtin_longjmp (buf, 1);
15 int execute(int cmd)
17 int last = 0;
19 if (__builtin_setjmp (buf) == 0)
20 while (1)
22 last = 1;
23 raise0 ();
26 if (last == 0)
27 return 0;
28 else
29 return cmd;
32 int main(void)
34 if (execute (1) == 0)
35 abort ();
37 return 0;