summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2002-05-22 02:58:52 +0000
committerDanny Smith <dannysmith@users.sourceforge.net>2002-05-22 02:58:52 +0000
commit10715b9bee514969044b8bff61adb20ec0fa727d (patch)
treeb219a0d81847d127fa8bec3575a6b3110251fe5a
parentdf4f59009dfd9f58f50881ed921d0bbde56aa0bc (diff)
downloadgdb-10715b9bee514969044b8bff61adb20ec0fa727d.tar.gz
* mingwex/isnanl.c: New file.
-rw-r--r--winsup/mingw/ChangeLog4
-rw-r--r--winsup/mingw/mingwex/isnanl.c13
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);