8sa1-gcc/gcc/testsuite/gcc.c-torture/unsorted/bad.c
Jeff Law 921e5a0eb4 Initial revision
From-SVN: r14840
1997-08-19 01:34:40 -06:00

27 lines
423 B
C

typedef union longlong
{
struct {unsigned short h0, h1, h2, h3;} h;
struct {signed long low, high;} si;
struct {unsigned long low, high;} ui;
signed long long sll;
unsigned long long ull;
} long_long;
long long
__negdi2 (u)
long long u;
{
long_long uu;
uu.sll = u;
uu.si.low = -uu.si.low;
if (uu.si.low == 0)
uu.si.high = -uu.si.high;
else
uu.si.high = ~uu.si.high;
return uu.sll;
}