From: Joseph Myers Date: Tue, 7 Feb 2017 23:06:19 +0000 (+0000) Subject: Clean up libm vector tests exception test disabling. X-Git-Tag: glibc-2.26~802 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12d6284c0e06fdc15da577b65374cd7df6809c84;p=thirdparty%2Fglibc.git Clean up libm vector tests exception test disabling. The libm vector tests disable tests of exception raising via defining macros EXCEPTION_TESTS_float and EXCEPTION_TESTS_double to 0 in the headers for individual vector lengths. As EXCEPTION_TESTS is used in code in libm-test-driver.c that is otherwise ready to be built only once per type, this is not a good idea; it's better to define TEST_EXCEPTIONS appropriately so that flag_test_exceptions then gets initialized appropriately. Furthermore, it's better to do this just once, in test-math-vector.h, since there is no actual dependence on the vector length or type. This patch duly makes that change. Tested for x86_64. * math/test-math-finite.h (TEST_EXCEPTIONS): New macro. * math/test-math-no-finite.h (TEST_EXCEPTIONS): Likewise. * math/test-math-vector.h (TEST_EXCEPTIONS): Likewise. * math/test-math-no-inline.h (TEST_EXCEPTIONS): Remove macro. * math/test-double-vlen2.h (EXCEPTION_TESTS_double): Likewise. * math/test-double-vlen4.h (EXCEPTION_TESTS_double): Likewise. * math/test-double-vlen8.h (EXCEPTION_TESTS_double): Likewise. * math/test-float-vlen4.h (EXCEPTION_TESTS_float): Likewise. * math/test-float-vlen8.h (EXCEPTION_TESTS_float): Likewise. * math/test-float-vlen16.h (EXCEPTION_TESTS_float): Likewise. --- diff --git a/ChangeLog b/ChangeLog index 037552dac45..4ea4c07afde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2017-02-07 Joseph Myers + * math/test-math-finite.h (TEST_EXCEPTIONS): New macro. + * math/test-math-no-finite.h (TEST_EXCEPTIONS): Likewise. + * math/test-math-vector.h (TEST_EXCEPTIONS): Likewise. + * math/test-math-no-inline.h (TEST_EXCEPTIONS): Remove macro. + * math/test-double-vlen2.h (EXCEPTION_TESTS_double): Likewise. + * math/test-double-vlen4.h (EXCEPTION_TESTS_double): Likewise. + * math/test-double-vlen8.h (EXCEPTION_TESTS_double): Likewise. + * math/test-float-vlen4.h (EXCEPTION_TESTS_float): Likewise. + * math/test-float-vlen8.h (EXCEPTION_TESTS_float): Likewise. + * math/test-float-vlen16.h (EXCEPTION_TESTS_float): Likewise. + [BZ #21112] * sysdeps/ieee754/flt-32/e_powf.c (cp_h): Use value with trailing 12 bits zero. diff --git a/math/test-double-vlen2.h b/math/test-double-vlen2.h index 58d029ab2a0..06571cf65c9 100644 --- a/math/test-double-vlen2.h +++ b/math/test-double-vlen2.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_double 0 #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen2 diff --git a/math/test-double-vlen4.h b/math/test-double-vlen4.h index 5ebcd133b18..47254703b68 100644 --- a/math/test-double-vlen4.h +++ b/math/test-double-vlen4.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_double 0 #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen4 diff --git a/math/test-double-vlen8.h b/math/test-double-vlen8.h index 8d9049eb285..a1254ae3961 100644 --- a/math/test-double-vlen8.h +++ b/math/test-double-vlen8.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_double 0 #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen8 diff --git a/math/test-float-vlen16.h b/math/test-float-vlen16.h index 9388d77a82f..b6d209e61c1 100644 --- a/math/test-float-vlen16.h +++ b/math/test-float-vlen16.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_float 0 #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen16 diff --git a/math/test-float-vlen4.h b/math/test-float-vlen4.h index 0a3a25463a9..4bac669d214 100644 --- a/math/test-float-vlen4.h +++ b/math/test-float-vlen4.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_float 0 #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen4 diff --git a/math/test-float-vlen8.h b/math/test-float-vlen8.h index f744dc5771e..e72257ceee3 100644 --- a/math/test-float-vlen8.h +++ b/math/test-float-vlen8.h @@ -20,7 +20,6 @@ #include "test-math-no-inline.h" #include "test-math-vector.h" -#define EXCEPTION_TESTS_float 0 #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define VEC_SUFF _vlen8 diff --git a/math/test-math-finite.h b/math/test-math-finite.h index d081ff27e65..e1ab93481fc 100644 --- a/math/test-math-finite.h +++ b/math/test-math-finite.h @@ -18,3 +18,4 @@ #define TEST_FINITE 1 #define TEST_ERRNO 0 +#define TEST_EXCEPTIONS 1 diff --git a/math/test-math-no-finite.h b/math/test-math-no-finite.h index 815096205e9..c4b824676f3 100644 --- a/math/test-math-no-finite.h +++ b/math/test-math-no-finite.h @@ -17,3 +17,4 @@ . */ #define TEST_FINITE 0 +#define TEST_EXCEPTIONS 1 diff --git a/math/test-math-no-inline.h b/math/test-math-no-inline.h index 81dde30df83..83ba170ef13 100644 --- a/math/test-math-no-inline.h +++ b/math/test-math-no-inline.h @@ -17,7 +17,6 @@ . */ #define TEST_INLINE 0 -#define TEST_EXCEPTIONS 1 #ifndef __NO_MATH_INLINES # define __NO_MATH_INLINES diff --git a/math/test-math-vector.h b/math/test-math-vector.h index 63b63853ff9..8a9ae9caa1b 100644 --- a/math/test-math-vector.h +++ b/math/test-math-vector.h @@ -19,6 +19,7 @@ #define TEST_MATHVEC 1 #define TEST_FINITE 0 #define TEST_ERRNO 0 +#define TEST_EXCEPTIONS 0 #define CNCT(x, y) x ## y #define CONCAT(a, b) CNCT (a, b)