1 /* { dg-do compile } */
2 /* { dg-additional-options "-fno-split-loops -w" } */
3
4 typedef unsigned short uint16_t;
5
6 uint16_t a, b;
7
8 uint16_t f(void)
9 {
10 int c, **p;
11 short d = 2, e = 4;
12
13 for (;; b++)
14 {
15 int *j, k = 0;
16
17 for (; *j; j++)
18 {
19 for(; c; c++)
20 for(; k < 1; k++)
21 {
22 short *f = &d;
23
24 if(b)
25 return *f;
26 }
27 }
28
29 if(!c)
30 d *= e;
31
32 ((a = d) ? b = 0 : (**p ? : 1) != (d != 1 ? : (a = 0))) != (k ? a : 0)
33 < (a *= c = k) && (**p = 0);
34 }
35 }