]>
Commit | Line | Data |
---|---|---|
90cd5b21 | 1 | // { dg-require-effective-target label_values } |
400c29ff | 2 | /* PR tree-optimization/89280 */ |
3 | ||
4 | int a; | |
5 | void foo (void); | |
6 | __attribute__ ((returns_twice)) int bar (void); | |
7 | void baz (int, int); | |
8 | void *buf[5]; | |
9 | ||
10 | static inline void | |
11 | inl (int x) | |
12 | { | |
13 | while (x) | |
14 | foo (); | |
15 | } | |
16 | ||
17 | void | |
18 | test1 (void) | |
19 | { | |
20 | for (;;) | |
21 | foo (); | |
22 | baz (bar (), a); | |
23 | } | |
24 | ||
25 | void | |
26 | test2 (void) | |
27 | { | |
28 | for (;;) | |
29 | foo (); | |
30 | baz (__builtin_setjmp (buf), a); | |
31 | if (a) | |
32 | __builtin_longjmp (buf, 1); | |
33 | } | |
34 | ||
35 | void | |
36 | test3 (void) | |
37 | { | |
38 | inl (1); | |
39 | baz (bar (), a); | |
40 | } | |
41 | ||
42 | void | |
43 | test4 (void) | |
44 | { | |
45 | inl (2); | |
46 | baz (__builtin_setjmp (buf), a); | |
47 | if (a) | |
48 | __builtin_longjmp (buf, 1); | |
49 | } |