1 /* PR c/107846 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wall -O2" } */
4
5 #define foo(x, b, n, m) ((unsigned short) (x) << (b - (n + 1) * 8) >> (b - 8) << (m * 8))
6 #define bar(x) ((unsigned short) (foo (x, 16, 0, 1) | foo (x, 16, 1, 0)))
7 #define baz(x) bar (x)
8 static const int v = 8000;
9
10 unsigned short
11 qux (int t)
12 {
13 return t != baz (v);
14 }