summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog5
-rw-r--r--newlib/libm/common/s_signbit.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index e40d26bdf..d36decdd1 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-13 Nick Clifton <nickc@redhat.com>
+
+ * libm/common/s_signbit.c (__signbitf): Fix for 16-bit targets.
+ (__signbitd): Likewise.
+
2015-05-02 Corinna Vinschen <vinschen@redhat.com>
* libc/include/sys/time.h: Include sys/select.h on Cygwin. Explain why.
diff --git a/newlib/libm/common/s_signbit.c b/newlib/libm/common/s_signbit.c
index 746ab4662..6ea714dd3 100644
--- a/newlib/libm/common/s_signbit.c
+++ b/newlib/libm/common/s_signbit.c
@@ -41,19 +41,19 @@ int __signbitd (double x);
int
__signbitf (float x)
{
- unsigned int w;
+ __uint32_t w;
GET_FLOAT_WORD(w,x);
- return (w & 0x80000000);
+ return (w & 0x80000000) != 0;
}
int
__signbitd (double x)
{
- unsigned int msw;
+ __uint32_t msw;
GET_HIGH_WORD(msw, x);
- return (msw & 0x80000000);
+ return (msw & 0x80000000) != 0;
}