summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/mingwex/fegetexceptflag.c
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/mingwex/fegetexceptflag.c')
-rw-r--r--winsup/mingw/mingwex/fegetexceptflag.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/winsup/mingw/mingwex/fegetexceptflag.c b/winsup/mingw/mingwex/fegetexceptflag.c
new file mode 100644
index 000000000..353e90dfa
--- /dev/null
+++ b/winsup/mingw/mingwex/fegetexceptflag.c
@@ -0,0 +1,15 @@
+#include <fenv.h>
+
+
+/* 7.6.2.2
+ The fegetexceptflag function stores an implementation-defined
+ representation of the exception flags indicated by the argument
+ excepts in the object pointed to by the argument flagp. */
+
+int fegetexceptflag (fexcept_t * flagp, int excepts)
+{
+ unsigned short _sw;
+ __asm__ ("fnstsw %%ax;": "=a" (_sw));
+ *flagp = _sw & excepts & FE_ALL_EXCEPT;
+ return 0;
+}