summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/libiberty/copysign.c
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2002-01-27 12:00:11 +0000
committerobrien <obrien@FreeBSD.org>2002-01-27 12:00:11 +0000
commitfc89183cdc6be5afa8deb7250fd15a20832ab528 (patch)
tree5c493199a70976c54e1b9c6a7804a3de85b43e84 /contrib/binutils/libiberty/copysign.c
parent94820fd8060f6f43089d1a3ddb8a482402e7e494 (diff)
downloadFreeBSD-src-fc89183cdc6be5afa8deb7250fd15a20832ab528.zip
FreeBSD-src-fc89183cdc6be5afa8deb7250fd15a20832ab528.tar.gz
Enlist the FreeBSD-CURRENT users as testers of what is to become Binutils
version 2.12.0. These bits are taken from the FSF anoncvs repo on 27-January-2002 03:41 PST.
Diffstat (limited to 'contrib/binutils/libiberty/copysign.c')
-rw-r--r--contrib/binutils/libiberty/copysign.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/contrib/binutils/libiberty/copysign.c b/contrib/binutils/libiberty/copysign.c
index 0b5f8c3..5c48a54 100644
--- a/contrib/binutils/libiberty/copysign.c
+++ b/contrib/binutils/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
OpenPOWER on IntegriCloud