diff options
author | Joseph Myers <joseph@codesourcery.com> | 2016-05-26 16:38:04 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2016-05-26 16:38:04 +0000 |
commit | 262112840ca3807d2e5c7227a476be88be5740a7 (patch) | |
tree | 819898673e9c173d0f0d81dd6e180c9684451e70 /math/w_powl.c | |
parent | network: Fix missing bits from {recv,send}{m}msg standard com,pliance (diff) | |
download | glibc-262112840ca3807d2e5c7227a476be88be5740a7.tar.gz glibc-262112840ca3807d2e5c7227a476be88be5740a7.tar.bz2 glibc-262112840ca3807d2e5c7227a476be88be5740a7.zip |
Support sNaN testing in libm-test.inc.
This patch adds support in libm-test.inc for tests with signaling NaN
arguments. gen-libm-test.pl is made to set a flag TEST_SNAN for such
tests, so that they can be disabled automatically when sNaN testing
isn't supported for a given type (at present, for float and double on
32-bit x86 because it's unpredictable when a value might be loaded
into a floating-point register and so automatically converted to long
double with sNaNs converted to quiet NaNs). -fsignaling-nans is used
where needed.
Tests are added for classification macros, as a starting point; this
is deliberately more conservative than Thomas's patch
<https://sourceware.org/ml/libc-ports/2013-04/msg00008.html>, to allow
more tests to be added, and issues exposed fixed, bit by bit.
Tested for x86_64 and x86.
* math/libm-test.inc: Update comment about NaN testing.
(TEST_SNAN): New macro.
(snan_value): Likewise.
(enable_test): Disable tests of sNaNs when SNAN_TESTS fails.
(fpclassify_test_data): Add sNaN tests.
(isfinite_test_data): Likewise.
(isinf_test_data): Likewise.
(isnan_test_data): Likewise.
(isnormal_test_data): Likewise.
(issignaling_test_data): Likewise.
(signbit_test_data): Likewise.
* math/gen-libm-test.pl (%beautify): Add snan_value.
(show_exceptions): Add argument $test_snan.
(parse_args): Handle snan_value as non-finite. Update call to
show_exceptions.
* math/Makefile (libm-test-no-inline-cflags): Add
-fsignaling-nans.
Diffstat (limited to 'math/w_powl.c')
0 files changed, 0 insertions, 0 deletions