1 /* { dg-do compile } */
2 
3 short a, f, h;
4 struct S0 {
5     int f0;
6 } b;
7 char c, d, e, j, k;
8 int g;
fn1(char p1,int p2)9 char fn1(char p1, int p2) { return 7 >> p2 ? p1 : p2; }
fn2()10 void fn2() {
11     int l, m, n;
12     struct S0 o = {0};
13     for (;;) {
14 	int p = 1, r = e;
15 	unsigned q = 6;
16 	l = r == 0 ? q : q % r;
17 	n = l;
18 	c = f;
19 	k = fn1(p, n ^ e);
20 	char s = k;
21 	j = s / 6;
22 	if (j) {
23 	    int t = d, u = m = d ? t : t / d;
24 	    h = a || u;
25 	    b.f0 = h;
26 	    for (; d;)
27 	      ;
28 	} else {
29 	    b = o;
30 	    if (d != g)
31 	      for (;;)
32 		;
33 	}
34     }
35 }
36