OSDN Git Service

Backported from mainline
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / unsorted / bad.c
1 typedef union longlong
2 {
3   struct {unsigned short h0, h1, h2, h3;} h;
4   struct {signed long low, high;} si;
5   struct {unsigned long low, high;} ui;
6   signed long long sll;
7   unsigned long long ull;
8 } long_long;
9
10
11 long long
12 __negdi2 (u)
13      long long u;
14 {
15   long_long uu;
16
17   uu.sll = u;
18
19   uu.si.low = -uu.si.low;
20   if (uu.si.low == 0)
21     uu.si.high = -uu.si.high;
22   else
23     uu.si.high = ~uu.si.high;
24
25   return uu.sll;
26 }