1 /* { dg-do run } */
2 /* { dg-additional-options "-ftree-pre -ftree-partial-pre" } */
3
4 extern void abort (void);
5
6 int b, c, d, f, g, h, i, j[6], *l = &b, *m, n, *o, r;
7 char k;
8
9 static int
foo()10 foo ()
11 {
12 char *p = &k;
13
14 for (; d; d++)
15 if (i)
16 h = 0;
17 else
18 h = c || (r = 0);
19
20 for (f = 0; f < 2; f++)
21 {
22 unsigned int q;
23 *l = 0;
24 if (n)
25 *m = g;
26 if (g)
27 o = 0;
28 for (q = -8; q >= 5; q++)
29 (*p)--;
30 }
31
32 return 0;
33 }
34
35 int
main()36 main ()
37 {
38 foo ();
39 if (j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[j[0]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ^ (k & 15)] != 0)
40 abort ();
41 return 0;
42 }
43