comparison gcc/testsuite/gcc.dg/setjmp-3.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* { dg-do run } */
2 /* { dg-options "-O" } */
3 /* { dg-require-effective-target indirect_jumps } */
4
5 #include <setjmp.h>
6
7 extern void abort (void);
8
9 jmp_buf buf;
10
11 void raise0(void)
12 {
13 __builtin_longjmp (buf, 1);
14 }
15
16 int execute(int cmd)
17 {
18 int last = 0;
19
20 if (__builtin_setjmp (buf) == 0)
21 while (1)
22 {
23 last = 1;
24 raise0 ();
25 }
26
27 if (last == 0)
28 return 0;
29 else
30 return cmd;
31 }
32
33 int main(void)
34 {
35 if (execute (1) == 0)
36 abort ();
37
38 return 0;
39 }