From 78033913abfce71b1bcc075ed188c6b6ec087a13 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Wed, 31 Jan 2024 14:48:09 -0500 Subject: add checks for valid exception masks --- src/fenv/_fenv.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/fenv/_fenv.h (limited to 'src/fenv/_fenv.h') diff --git a/src/fenv/_fenv.h b/src/fenv/_fenv.h new file mode 100644 index 00000000..d07d568f --- /dev/null +++ b/src/fenv/_fenv.h @@ -0,0 +1,16 @@ +#include +#include "_safety.h" + +#ifdef NDEBUG +#define ASSERT_VALID_EXCEPTION_MASK(_n) (void)(_n) +#define ASSERT_PREVIOUS_FEXCEPT(_f, _e) (void)(_f) +#else +#define ASSERT_VALID_EXCEPTION_MASK(_n) do { \ + if (((_n) & ~(FE_ALL_EXCEPT)) != 0) { \ + __undefined("In call to %s(), exception mask 0x(%jx) is not valid", __func__, (uintmax_t)(_n)); \ + } \ +} while (0) + +/* TODO!!! */ +#define ASSERT_PREVIOUS_FEXCEPT(_f, _e) (void)(_f) +#endif -- cgit v1.2.1