Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2005-05-03 12:39:19 +0400
committerDanny Smith <dannysmith@users.sourceforge.net>2005-05-03 12:39:19 +0400
commit8559dd92d0e27f4ad4dbf21f1032889c6a813fef (patch)
tree0c9cf798c4baafb7364ba28b9629d4c137b9cbd8 /winsup/mingw
parent38efa5f12862993a697398f41cfad4312f77e81f (diff)
* mingwex/math/signbit.c (__signbit): Make return value
consistent with GCC's __builtin_signbit. * mingwex/math/signbitf.c (__signbitf): Likewise. * mingwex/math/signbitf.c (__signbitl): Likewise. * include/math.h (__signbit, __signbitf, __signbitl): Likewise for inlines.
Diffstat (limited to 'winsup/mingw')
-rw-r--r--winsup/mingw/ChangeLog9
-rw-r--r--winsup/mingw/include/math.h6
-rw-r--r--winsup/mingw/mingwex/math/signbit.c2
-rw-r--r--winsup/mingw/mingwex/math/signbitf.c2
-rw-r--r--winsup/mingw/mingwex/math/signbitl.c2
5 files changed, 15 insertions, 6 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog
index f9b7088fc..97272e896 100644
--- a/winsup/mingw/ChangeLog
+++ b/winsup/mingw/ChangeLog
@@ -1,3 +1,12 @@
+2005-05-03 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * mingwex/math/signbit.c (__signbit): Make return value
+ consistent with GCC's __builtin_signbit.
+ * mingwex/math/signbitf.c (__signbitf): Likewise.
+ * mingwex/math/signbitf.c (__signbitl): Likewise.
+ * include/math.h (__signbit, __signbitf, __signbitl): Likewise
+ for inlines.
+
2005-05-02 Danny Smith <dannysmith@users.sourceforge.net>
* include/_mingw.h (__MINGW_ATTRIB_NONNULL): Don't define as
diff --git a/winsup/mingw/include/math.h b/winsup/mingw/include/math.h
index 29bf27ce0..585723b22 100644
--- a/winsup/mingw/include/math.h
+++ b/winsup/mingw/include/math.h
@@ -373,19 +373,19 @@ __CRT_INLINE int __cdecl __isnanl (long double _x)
__CRT_INLINE int __cdecl __signbit (double x) {
unsigned short stw;
__asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return stw & 0x0200;
+ return (stw & 0x0200) != 0;
}
__CRT_INLINE int __cdecl __signbitf (float x) {
unsigned short stw;
__asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return stw & 0x0200;
+ return (stw & 0x0200) != 0;
}
__CRT_INLINE int __cdecl __signbitl (long double x) {
unsigned short stw;
__asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
- return stw & 0x0200;
+ return (stw & 0x0200) != 0;
}
#define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) \
diff --git a/winsup/mingw/mingwex/math/signbit.c b/winsup/mingw/mingwex/math/signbit.c
index 7f86c86a3..997ddf86b 100644
--- a/winsup/mingw/mingwex/math/signbit.c
+++ b/winsup/mingw/mingwex/math/signbit.c
@@ -5,7 +5,7 @@ int __signbit (double x) {
__asm__ ("fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (x) );
- return sw & __FP_SIGNBIT;
+ return (sw & __FP_SIGNBIT) != 0;
}
#undef signbit
diff --git a/winsup/mingw/mingwex/math/signbitf.c b/winsup/mingw/mingwex/math/signbitf.c
index 5bbf675ad..1c96b9f80 100644
--- a/winsup/mingw/mingwex/math/signbitf.c
+++ b/winsup/mingw/mingwex/math/signbitf.c
@@ -5,6 +5,6 @@ int __signbitf (float x) {
__asm__ ("fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (x) );
- return sw & __FP_SIGNBIT;
+ return (sw & __FP_SIGNBIT) != 0;
}
int __attribute__ ((alias ("__signbitf"))) signbitf (float);
diff --git a/winsup/mingw/mingwex/math/signbitl.c b/winsup/mingw/mingwex/math/signbitl.c
index 78f990350..8b7bca5b3 100644
--- a/winsup/mingw/mingwex/math/signbitl.c
+++ b/winsup/mingw/mingwex/math/signbitl.c
@@ -5,7 +5,7 @@ int __signbitl (long double x) {
__asm__ ("fxam; fstsw %%ax;"
: "=a" (sw)
: "t" (x) );
- return sw & __FP_SIGNBIT;
+ return (sw & __FP_SIGNBIT) != 0;
}
int __attribute__ ((alias ("__signbitl"))) signbitl (long double);