1 /* { dg-do run } */
2
3 int a, b = 1, c = 1, e, f = 1, g, h, j;
4 volatile int d;
5 static void k()
6 {
7 int i;
8 h = b;
9 if (c && a >= 0) {
10 while (a) {
11 i++;
12 h--;
13 }
14 if (g)
15 for (h = 0; h < 2; h++)
16 ;
17 if (!b)
18 i &&d;
19 }
20 }
21 static void l()
22 {
23 for (; j < 1; j++)
24 if (!e && c && f)
25 k();
26 }
27 int main()
28 {
29 if (f)
30 l();
31 if (h != 1)
32 __builtin_abort();
33 return 0;
34 }