1 struct foo
2 {
3   unsigned long long b:40;
4 } x;
5 
6 extern void abort (void);
7 
test1(unsigned long long res)8 void test1(unsigned long long res)
9 {
10   /* Build a rotate expression on a 40 bit argument.  */
11   if ((x.b<<8) + (x.b>>32) != res)
12     abort ();
13 }
14 
main()15 int main()
16 {
17   x.b = 0x0100000001;
18   test1(0x0000000101);
19   x.b = 0x0100000000;
20   test1(0x0000000001);
21   return 0;
22 }
23