diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-06-23 20:10:45 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-06-23 20:10:45 +0000 |
commit | 48273d42bc0689d6e8e79c1750a62f6bc3721307 (patch) | |
tree | 779683f717faa7e7b351a6a8e5ba2e79525c91c4 /ChangeLog | |
parent | 16000c8d04f60a15fc0187e8719d741329501c39 (diff) | |
download | glibc-48273d42bc0689d6e8e79c1750a62f6bc3721307.zip glibc-48273d42bc0689d6e8e79c1750a62f6bc3721307.tar.gz glibc-48273d42bc0689d6e8e79c1750a62f6bc3721307.tar.bz2 |
Make libm-test-support code clear exceptions after each test.
The libm-test-support code clears exceptions at the end of
test_exceptions. However, it's possible that exceptions get raised as
part of the subsequent checks on the results of the function being
tested, and such exceptions then carry through to the next test run
and can cause that to fail spuriously. In particular, it's possible
for the ulps calculation to raise exceptions in some cases. This
patch puts exception clearing at the end of each of the check_*
functions, alongside errno clearing, to avoid one test affecting the
next in that way.
Tested for x86_64 (in conjunction with float128 patches).
* 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.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -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 && |