2018-05-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr79803.c
blob3b475fa674945637ec56fd25c7a76de95414d6c0
1 /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
2 /* { dg-options "-march=opteron-sse3 -Ofast --param l1-cache-line-size=3 -Wdisabled-optimization" } */
3 /* { dg-require-effective-target indirect_jumps } */
5 #include <setjmp.h>
7 extern void abort (void);
9 jmp_buf buf;
11 void raise0(void)
13 __builtin_longjmp (buf, 1);
16 int execute(int cmd) /* { dg-warning "'l1-cache-size' parameter is not a power of two 3" } */
18 int last = 0;
20 if (__builtin_setjmp (buf) == 0)
21 while (1)
23 last = 1;
24 raise0 ();
27 if (last == 0)
28 return 0;
29 else
30 return cmd;
33 int execute2(int cmd, int cmd2)
35 int last = 0;
37 if (__builtin_setjmp (buf) == 0)
38 while (1)
40 last = 1;
41 raise0 ();
44 if (last == 0)
45 return 0;
46 else
47 return cmd;
51 int main(void)
53 if (execute (1) == 0)
54 abort ();
56 if (execute2 (1, 2) == 0)
57 abort ();
59 return 0;