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>2002-05-22 06:58:53 +0400
committerDanny Smith <dannysmith@users.sourceforge.net>2002-05-22 06:58:53 +0400
commit16176e9f86e8cd4e2761be7387d45d061ed00794 (patch)
tree638ead2b4623ff106e39d01a9f7136a2accb8b00
parent05ddbdd62b8adc8b2fef1c15d176cfadcd4be627 (diff)
* 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 d627bf108..852e777a8 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 000000000..86d0088b4
--- /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);