From c8999dd6b4a06f4963d7d7cfb82a7e30682b76d0 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 10 Apr 2015 18:52:24 +0000 Subject: [PATCH] fenv: under/overflow may raise inexact too --- src/math/fenv.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/math/fenv.c b/src/math/fenv.c index 91b6378..178b32e 100644 --- a/src/math/fenv.c +++ b/src/math/fenv.c @@ -53,9 +53,18 @@ static void test_except() if (r) error("feraiseexcept(%s) returned %d\n", te[i].name, r); r = fetestexcept(FE_ALL_EXCEPT); - if (r != te[i].i) + if (r != te[i].i) { +#if defined FE_OVERFLOW && defined FE_INEXACT + if (te[i].i == FE_OVERFLOW && r == FE_OVERFLOW|FE_INEXACT) + continue; +#endif +#if defined FE_UNDERFLOW && defined FE_INEXACT + if (te[i].i == FE_UNDERFLOW && r == FE_UNDERFLOW|FE_INEXACT) + continue; +#endif error("feraiseexcept(%s) want %d got %d\n", te[i].name, te[i].i, r); + } } r = feraiseexcept(FE_ALL_EXCEPT); -- 2.20.1