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 /* The shift is carried out in 40 bit precision. */ 11 if (x.b<<32 != res) 12 abort (); 13 } 14 main()15int main() 16 { 17 x.b = 0x0100; 18 test1(0); 19 return 0; 20 } 21