diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | math/libm-test-pow.inc | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 7dea006c16..450732e565 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-10-17 Joseph Myers <joseph@codesourcery.com> + + * math/libm-test-pow.inc (pow_test_data): Do not allow + divide-by-zero exception for pow(+/- 0, -Inf). + 2018-10-17 Zack Weinberg <zackw@panix.com> * manual/job.texi (Job Control is Optional): Remove node, as diff --git a/math/libm-test-pow.inc b/math/libm-test-pow.inc index ff20ad2f04..c7b91c1131 100644 --- a/math/libm-test-pow.inc +++ b/math/libm-test-pow.inc @@ -248,8 +248,13 @@ static const struct test_ff_f_data pow_test_data[] = TEST_ff_f (pow, 0, plus_infty, 0, ERRNO_UNCHANGED), TEST_ff_f (pow, minus_zero, plus_infty, 0, ERRNO_UNCHANGED), - TEST_ff_f (pow, 0, minus_infty, plus_infty, DIVIDE_BY_ZERO_EXCEPTION_OK|ERRNO_UNCHANGED), - TEST_ff_f (pow, minus_zero, minus_infty, plus_infty, DIVIDE_BY_ZERO_EXCEPTION_OK|ERRNO_UNCHANGED), + /* C99 erroneously specified a divide-by-zero exception here, + which is not permitted in C2x (C11 specified it as optional). + See <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1515.pdf> + and + <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2271.pdf>. */ + TEST_ff_f (pow, 0, minus_infty, plus_infty, ERRNO_UNCHANGED), + TEST_ff_f (pow, minus_zero, minus_infty, plus_infty, ERRNO_UNCHANGED), /* pow (x, +inf) == +inf for |x| > 1. */ TEST_ff_f (pow, 1.5, plus_infty, plus_infty, ERRNO_UNCHANGED|NO_TEST_INLINE), |