1 /* { dg-do compile } */
2 
3 int a, b;
4 long c;
5 void foo(int);
6 
f2(void)7 void f2(void)
8 {
9   unsigned long k = 1;
10 
11   foo(b ? k = 0 : 0);
12 
13   b = ((c = b) ? (k ? : (c = 0)) : a) * c;
14 }
15 
f1(void)16 void f1(void)
17 {
18   f2();
19 
20   a = b | c;
21 }
22