summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-02-02 14:05:47 -0500
committerJakob Kaivo <jkk@ung.org>2024-02-02 14:05:47 -0500
commit9b784a3affb4027c9bc40fba2b272abe7e580ece (patch)
tree92d00cd6f29edd8372ed7806b3a70733066896e4 /src
parent8b3f2fa09e9241e20926c8171753a271c21ec93d (diff)
add struct __fenv to track valid fexcept_t and fenv_t objects
Diffstat (limited to 'src')
-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)