summaryrefslogtreecommitdiff
path: root/src/fenv
diff options
context:
space:
mode:
Diffstat (limited to 'src/fenv')
-rw-r--r--src/fenv/__fenv.c8
-rw-r--r--src/fenv/_fenv.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/src/fenv/__fenv.c b/src/fenv/__fenv.c
new file mode 100644
index 00000000..09181539
--- /dev/null
+++ b/src/fenv/__fenv.c
@@ -0,0 +1,8 @@
+#include "_fenv.h"
+
+struct __fenv __fenv = { 0 };
+
+/*
+STDC(-1)
+SIGNAL_SAFE(-1)
+*/
diff --git a/src/fenv/_fenv.h b/src/fenv/_fenv.h
index eaaa7d0c..6daf2246 100644
--- a/src/fenv/_fenv.h
+++ b/src/fenv/_fenv.h
@@ -1,6 +1,13 @@
#include <fenv.h>
#include "_safety.h"
+extern struct __fenv {
+ fexcept_t *valid_fexcept;
+ size_t nvalid_fexcept;
+ fenv_t *valid_fenv;
+ size_t nvalid_fenv;
+} __fenv;
+
#ifdef NDEBUG
#define ASSERT_VALID_EXCEPTION_MASK(_n) (void)(_n)
#define ASSERT_PREVIOUS_FEXCEPT(_f, _e) (void)(_f)