OSDN Git Service

2012-02-28 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / 20110718-1.c
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))
12 foo (struct X *p)
13 {
14   return ~p->i;
15 }
16 int main()
17 {
18   struct X x;
19   x.i = -1;
20   if (foo (&x) != 0)
21     abort ();
22   return 0;
23 }