aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr107846.c
blob: 15a661cdb03c3fe059b7236769200ecb28ea6379 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* PR c/107846 */
/* { dg-do compile } */
/* { dg-options "-Wall -O2" } */

#define foo(x, b, n, m) ((unsigned short) (x) << (b - (n + 1) * 8) >> (b - 8) << (m * 8))
#define bar(x) ((unsigned short) (foo (x, 16, 0, 1) | foo (x, 16, 1, 0)))
#define baz(x)	bar (x)
static const int v = 8000;

unsigned short
qux (int t)
{
  return t != baz (v);
}