aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--math/libm-test-pow.inc9
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 7dea006..450732e 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 ff20ad2..c7b91c1 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),