111
|
1 /* PR tree-optimization/78482 */
|
|
2 /* { dg-do run } */
|
|
3
|
|
4 short a = 65531;
|
|
5 int b = 3, f;
|
|
6 signed char c, d;
|
|
7 static void fn1(int p1)
|
|
8 {
|
|
9 short e;
|
|
10 b = f;
|
|
11 if (f > p1 && p1)
|
|
12 L:
|
|
13 for (e = 0; 0;)
|
|
14 ;
|
|
15 else if (d) b = 0 >= b;
|
|
16 for (; e <= 3; e++)
|
|
17 {
|
|
18 if (b)
|
|
19 continue;
|
|
20 b = 3;
|
|
21 goto L;
|
|
22 }
|
|
23 }
|
|
24
|
|
25 __attribute__((noinline, noclone))
|
|
26 int bar (const char *x, int y)
|
|
27 {
|
|
28 asm volatile ("" : "+g" (x), "+g" (y) : : "memory");
|
|
29 if (y == 2)
|
|
30 __builtin_abort ();
|
|
31 return 0;
|
|
32 }
|
|
33
|
|
34 int main()
|
|
35 {
|
|
36 for (; c >= 0; c--)
|
|
37 {
|
|
38 if (!b)
|
|
39 {
|
|
40 bar("%d\n", 2);
|
|
41 continue;
|
|
42 }
|
|
43 fn1(a);
|
|
44 }
|
|
45 return 0;
|
|
46 }
|