1 /* { dg-do run } */ 2 3 extern void abort (void); 4 struct X { 5 #if (__SIZEOF_LONG__ != __SIZEOF_INT__) && (__SIZEOF_LONG__ == 8) 6 unsigned long i : 33; 7 #else 8 unsigned long i; 9 #endif 10 }; 11 unsigned long __attribute__((noinline)) foo(struct X * p)12foo (struct X *p) 13 { 14 return ~p->i; 15 } main()16int main() 17 { 18 struct X x; 19 x.i = -1; 20 if (foo (&x) != 0) 21 abort (); 22 return 0; 23 } 24