1 struct foo 2 { 3 unsigned long long b:40; 4 } x; 5 6 extern void abort (void); 7 test1(unsigned long long res)8void 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()15int main() 16 { 17 x.b = 0x0100000001; 18 test1(0x0000000101); 19 x.b = 0x0100000000; 20 test1(0x0000000001); 21 return 0; 22 } 23