Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / exprstmt1.C
blobabe072999d16559e9c61b4ad5d78823b069b9012
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 int main()
8   unsigned int x = 1381237248;
10   if (sizeof (x) != 4)
11     return 0;
13   x =
14     ({
15       unsigned int y = x;
16       ({
17         unsigned int z = y;
18         (unsigned int)
19           ((((unsigned int)z & (unsigned int)0x000000ffUL) << 24)
20            | (((unsigned int)z & (unsigned int)0x0000ff00UL) << 8)
21            | (((unsigned int)z & (unsigned int)0x00ff0000UL) >> 8)
22            | (((unsigned int)z & (unsigned int)0xff000000UL) >> 24));
23        });
24      });
25   return x != 152658;