aboutsummaryrefslogtreecommitdiff
path: root/libiberty/copysign.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2002-01-22 15:03:29 -0500
committerDJ Delorie <dj@gcc.gnu.org>2002-01-22 15:03:29 -0500
commit9ce3f7e5d3e94dbe814dbe1d2212064cb9084014 (patch)
tree4668c0ff40f185a82c1b9c01b0388f432c6cf685 /libiberty/copysign.c
parent816e265a1b3af7b3e97c8716b7e6afcee0d3c275 (diff)
downloadgcc-9ce3f7e5d3e94dbe814dbe1d2212064cb9084014.zip
gcc-9ce3f7e5d3e94dbe814dbe1d2212064cb9084014.tar.gz
gcc-9ce3f7e5d3e94dbe814dbe1d2212064cb9084014.tar.bz2
Makefile.in (TESTLIB): New.
* Makefile.in (TESTLIB): New. This library is for future testsuites. (CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize, break down by letter. (REQUIRED_OFILES): List long-to-compile files first. (maint-deps): New, target for updating dependencies. (dependencies): Update. * maint-tool: Add dependency-generating option. * configure.in: Check for _doprnt even if we're not providing it. * configure: Regenerate. * _doprnt.c: Modifications to allow compiling on any platform. * copysign.c: Likewise. * putenv.c: Likewise. * setenv.c: Likewise. * vsprintf.c: Likewise. From-SVN: r49090
Diffstat (limited to 'libiberty/copysign.c')
-rw-r--r--libiberty/copysign.c12
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