diff options
author | DJ Delorie <dj@redhat.com> | 2002-01-22 20:14:53 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2002-01-22 20:14:53 +0000 |
commit | cc096b7166610e6cca71574ef936acbabc922708 (patch) | |
tree | e1f498ad212739694972f83364c71a374ce90a3d /libiberty/copysign.c | |
parent | 069e84fd968e0561b436e2af0bd2310e028fd04f (diff) | |
download | gdb-cc096b7166610e6cca71574ef936acbabc922708.zip gdb-cc096b7166610e6cca71574ef936acbabc922708.tar.gz gdb-cc096b7166610e6cca71574ef936acbabc922708.tar.bz2 |
merge from gcc
Diffstat (limited to 'libiberty/copysign.c')
-rw-r--r-- | libiberty/copysign.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libiberty/copysign.c b/libiberty/copysign.c index 0b5f8c3..5c48a54 100644 --- a/libiberty/copysign.c +++ b/libiberty/copysign.c @@ -129,6 +129,7 @@ typedef union } __ieee_float_shape_type; #endif +#if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN) double DEFUN(copysign, (x, y), double x AND double y) { @@ -138,3 +139,14 @@ double DEFUN(copysign, (x, y), double x AND double y) a.number.sign =b.number.sign; return a.value; } + +#else + +double DEFUN(copysign, (x, y), double x AND double y) +{ + if ((x < 0 && y > 0) || (x > 0 && y < 0)) + return -x; + return x; +} + +#endif |