summaryrefslogtreecommitdiff
path: root/src/fenv/_fenv.h
blob: 718bd1366ad7953b61f0957022820b3454f5eabe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fenv.h>
#include "_safety.h"

#ifdef NDEBUG
#define ASSERT_VALID_EXCEPTION_MASK(_n) (void)(_n)
#define ASSERT_PREVIOUS_FEXCEPT(_f, _e) (void)(_f)
#define ASSERT_PREVIOUS_FENV(_f) (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)
#define ASSERT_PREVIOUS_FENV(_f) (void)(_f)
#endif