diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | math/Makefile | 6 | ||||
-rw-r--r-- | math/libm-test.inc | 2 |
3 files changed, 16 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2016-06-10 Joseph Myers <joseph@codesourcery.com> + + [BZ #20240] + * math/Makefile (CFLAGS-s_modf.c): New variable. + (CFLAGS-s_modff.c): Likewise. + (CFLAGS-s_modfl.c): Likewise. + * math/libm-test.inc (modf_test_data): Add sNaN tests. + 2016-06-09 Carlos O'Donell <carlos@redhat.com> [BZ #20215] diff --git a/math/Makefile b/math/Makefile index f0265bb640..6cd3cf1f65 100644 --- a/math/Makefile +++ b/math/Makefile @@ -302,6 +302,12 @@ ifneq ($(long-double-fcts),yes) math-CPPFLAGS += -DNO_LONG_DOUBLE -D_Mlong_double_=double endif +# These files quiet sNaNs in a way that is optimized away without +# -fsignaling-nans. +CFLAGS-s_modf.c += -fsignaling-nans +CFLAGS-s_modff.c += -fsignaling-nans +CFLAGS-s_modfl.c += -fsignaling-nans + # The -lieee library is actually an object file. # The module just defines the _LIB_VERSION_ variable. # It's not a library to make sure it is linked in instead of s_lib_version.o. diff --git a/math/libm-test.inc b/math/libm-test.inc index 2df6f29a34..3d901ae96a 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -9759,6 +9759,8 @@ static const struct test_fF_f1_data modf_test_data[] = TEST_fF_f1 (modf, minus_infty, minus_zero, minus_infty, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_fF_f1 (modf, qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_fF_f1 (modf, -qnan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), + TEST_fF_f1 (modf, snan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION), + TEST_fF_f1 (modf, -snan_value, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION), TEST_fF_f1 (modf, 0, 0, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_fF_f1 (modf, minus_zero, minus_zero, minus_zero, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), TEST_fF_f1 (modf, min_value, min_value, 0, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED), |