about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/libm-test-pow.inc9
1 files changed, 7 insertions, 2 deletions
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),