1struct foo 2{ 3 unsigned long long b:40; 4} x; 5 6extern void abort (void); 7 8void test1(unsigned long long res) 9{ 10 /* The shift is carried out in 40 bit precision. */ 11 if (x.b<<32 != res) 12 abort (); 13} 14 15int main() 16{ 17 x.b = 0x0100; 18 test1(0); 19 return 0; 20} 21