diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2005-05-03 08:39:19 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@users.sourceforge.net> | 2005-05-03 08:39:19 +0000 |
commit | 8559dd92d0e27f4ad4dbf21f1032889c6a813fef (patch) | |
tree | 0c9cf798c4baafb7364ba28b9629d4c137b9cbd8 /winsup/mingw | |
parent | 38efa5f12862993a697398f41cfad4312f77e81f (diff) | |
download | newlib-8559dd92d0e27f4ad4dbf21f1032889c6a813fef.zip newlib-8559dd92d0e27f4ad4dbf21f1032889c6a813fef.tar.gz newlib-8559dd92d0e27f4ad4dbf21f1032889c6a813fef.tar.bz2 |
* 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/ChangeLog | 9 | ||||
-rw-r--r-- | winsup/mingw/include/math.h | 6 | ||||
-rw-r--r-- | winsup/mingw/mingwex/math/signbit.c | 2 | ||||
-rw-r--r-- | winsup/mingw/mingwex/math/signbitf.c | 2 | ||||
-rw-r--r-- | winsup/mingw/mingwex/math/signbitl.c | 2 |
5 files changed, 15 insertions, 6 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index f9b7088..97272e8 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 29bf27c..585723b 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 7f86c86..997ddf8 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 5bbf675..1c96b9f 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 78f9903..8b7bca5 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); |