diff options
author | Danny Smith <dannysmith@users.sourceforge.net> | 2002-05-22 02:58:52 +0000 |
---|---|---|
committer | Danny Smith <dannysmith@users.sourceforge.net> | 2002-05-22 02:58:52 +0000 |
commit | 10715b9bee514969044b8bff61adb20ec0fa727d (patch) | |
tree | b219a0d81847d127fa8bec3575a6b3110251fe5a | |
parent | df4f59009dfd9f58f50881ed921d0bbde56aa0bc (diff) | |
download | gdb-10715b9bee514969044b8bff61adb20ec0fa727d.tar.gz |
* mingwex/isnanl.c: New file.
-rw-r--r-- | winsup/mingw/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/mingw/mingwex/isnanl.c | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index d627bf108b3..852e777a8ba 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,7 @@ +2002-05-22 Danny Smith <dannysmith@users.sourceforge.net> + + * mingwex/isnanl.c: New file. + 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net> * include/stdint.h: Include stddef.h to get diff --git a/winsup/mingw/mingwex/isnanl.c b/winsup/mingw/mingwex/isnanl.c new file mode 100644 index 00000000000..86d0088b499 --- /dev/null +++ b/winsup/mingw/mingwex/isnanl.c @@ -0,0 +1,13 @@ +#include <math.h> + +int +__isnanl (long double _x) +{ + unsigned short _sw; + __asm__ ("fxam;" + "fstsw %%ax": "=a" (_sw) : "t" (_x)); + return (_sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) + == FP_NAN; +} + +int __attribute__ ((alias ("__isnanl"))) isnanl (long double); |