diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | math/libm-test-support.c | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index fa0ac20c19..464e65d101 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2017-06-23 Joseph Myers <joseph@codesourcery.com> + * libm-test-support.c (check_float_internal): Clear exceptions at + end of function. + (check_int): Likewise. + (check_long): Likewise. + (check_bool): Likewise. + (check_longlong): Likewise. + (check_intmax_t): Likewise. + (check_uintmax_t): Likewise. + * sysdeps/x86/fpu/bits/fenv.h [_LIBC] (__feraiseexcept_renamed): Do not declare. * sysdeps/x86/fpu/include/bits/fenv.h [_LIBC && diff --git a/math/libm-test-support.c b/math/libm-test-support.c index 7612d394d6..078d30743d 100644 --- a/math/libm-test-support.c +++ b/math/libm-test-support.c @@ -718,6 +718,7 @@ check_float_internal (const char *test_name, FLOAT computed, FLOAT expected, out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -795,6 +796,7 @@ check_int (const char *test_name, int computed, int expected, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -828,6 +830,7 @@ check_long (const char *test_name, long int computed, long int expected, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -861,6 +864,7 @@ check_bool (const char *test_name, int computed, int expected, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -895,6 +899,7 @@ check_longlong (const char *test_name, long long int computed, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -928,6 +933,7 @@ check_intmax_t (const char *test_name, intmax_t computed, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } @@ -961,6 +967,7 @@ check_uintmax_t (const char *test_name, uintmax_t computed, update_stats (ok); out: fpstack_test (test_name); + feclearexcept (FE_ALL_EXCEPT); errno = 0; } |