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.
This commit is contained in:
Joseph Myers 2017-02-07 23:06:19 +00:00
parent edbbdb1855
commit 12d6284c0e
11 changed files with 14 additions and 7 deletions

View File

@ -1,5 +1,16 @@
2017-02-07 Joseph Myers <joseph@codesourcery.com> 2017-02-07 Joseph Myers <joseph@codesourcery.com>
* 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] [BZ #21112]
* sysdeps/ieee754/flt-32/e_powf.c (cp_h): Use value with trailing * sysdeps/ieee754/flt-32/e_powf.c (cp_h): Use value with trailing
12 bits zero. 12 bits zero.

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen2 #define VEC_SUFF _vlen2

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen4 #define VEC_SUFF _vlen4

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen8 #define VEC_SUFF _vlen8

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen16 #define VEC_SUFF _vlen16

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen4 #define VEC_SUFF _vlen4

View File

@ -20,7 +20,6 @@
#include "test-math-no-inline.h" #include "test-math-no-inline.h"
#include "test-math-vector.h" #include "test-math-vector.h"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST) #define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
#define VEC_SUFF _vlen8 #define VEC_SUFF _vlen8

View File

@ -18,3 +18,4 @@
#define TEST_FINITE 1 #define TEST_FINITE 1
#define TEST_ERRNO 0 #define TEST_ERRNO 0
#define TEST_EXCEPTIONS 1

View File

@ -17,3 +17,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define TEST_FINITE 0 #define TEST_FINITE 0
#define TEST_EXCEPTIONS 1

View File

@ -17,7 +17,6 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define TEST_INLINE 0 #define TEST_INLINE 0
#define TEST_EXCEPTIONS 1
#ifndef __NO_MATH_INLINES #ifndef __NO_MATH_INLINES
# define __NO_MATH_INLINES # define __NO_MATH_INLINES

View File

@ -19,6 +19,7 @@
#define TEST_MATHVEC 1 #define TEST_MATHVEC 1
#define TEST_FINITE 0 #define TEST_FINITE 0
#define TEST_ERRNO 0 #define TEST_ERRNO 0
#define TEST_EXCEPTIONS 0
#define CNCT(x, y) x ## y #define CNCT(x, y) x ## y
#define CONCAT(a, b) CNCT (a, b) #define CONCAT(a, b) CNCT (a, b)