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)12 foo (struct X *p)
13 {
14   return ~p->i;
15 }
main()16 int main()
17 {
18   struct X x;
19   x.i = -1;
20   if (foo (&x) != 0)
21     abort ();
22   return 0;
23 }
24