bpf: create modifier for mem operand for xchg and cmpxchg
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / exprstmt1.C
blob5970cb21b62725475cef3ed8e20f6eadcf9918b8
1 // { dg-do run  }
2 // { dg-options "-O" }
3 // { dg-error "limited range of data type" "16-bit target" { target xstormy16-*-* } 0 }
4 // { dg-error "shift count >=" "16-bit target" { target xstormy16-*-* } 0 }
6 typedef unsigned uint32_t __attribute__((mode (__SI__)));
8 int main()
10   uint32_t x = 1381237248;
12   x =
13     ({
14       uint32_t y = x;
15       ({
16         uint32_t z = y;
17         (uint32_t)
18           ((((uint32_t)z & (uint32_t)0x000000ffUL) << 24)
19            | (((uint32_t)z & (uint32_t)0x0000ff00UL) << 8)
20            | (((uint32_t)z & (uint32_t)0x00ff0000UL) >> 8)
21            | (((uint32_t)z & (uint32_t)0xff000000UL) >> 24));
22        });
23      });
24   return x != 152658;