1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Move INIT_ARCH_EXT call from libm-test-support to libm-test-driver.

libmvec tests involve calling INIT_ARCH_EXT during initialization then
CHECK_ARCH_EXT before testing each function to see if the processor
being used for testing supports the required instruction set
extensions.

After my refactoring of libm-test infrastructure, the INIT_ARCH_EXT
call is in libm-test-support.c, built only once per floating-point
type.  Now, in fact all definitions of this macro are empty, but given
that the definitions in sysdeps/x86_64/fpu/math-tests-arch.h are
conditional on REQUIRE_* macros defined in particular vector tests, it
seems more correct for the INIT_ARCH_EXT call to go instead in
libm-test-driver.c which gets built separately with those REQUIRE_*
macros properly defined.  This patch moves the call there.

Tested for x86_64 and x86.

	* math/libm-test-support.h: Do not include <math-tests-arch.h>
	here.
	* math/libm-test-support.c (libm_test_init): Do not call
	INIT_ARCH_EXT here.
	* math/libm-test-driver.c: Include <math-tests-arch.h>.
	(main): Call INIT_ARCH_EXT.
This commit is contained in:
Joseph Myers
2017-02-14 00:15:48 +00:00
parent b987917e6a
commit b4e4172da6
4 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,12 @@
2017-02-14 Joseph Myers <joseph@codesourcery.com>
* math/libm-test-support.h: Do not include <math-tests-arch.h>
here.
* math/libm-test-support.c (libm_test_init): Do not call
INIT_ARCH_EXT here.
* math/libm-test-driver.c: Include <math-tests-arch.h>.
(main): Call INIT_ARCH_EXT.
2017-02-12 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com> 2017-02-12 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
[BZ #21130] [BZ #21130]

View File

@ -18,6 +18,8 @@
#include "libm-test-support.h" #include "libm-test-support.h"
#include <math-tests-arch.h>
/* Flags set by the including file. */ /* Flags set by the including file. */
const int flag_test_errno = TEST_ERRNO; const int flag_test_errno = TEST_ERRNO;
const int flag_test_exceptions = TEST_EXCEPTIONS; const int flag_test_exceptions = TEST_EXCEPTIONS;
@ -1010,6 +1012,7 @@ int
main (int argc, char **argv) main (int argc, char **argv)
{ {
libm_test_init (argc, argv); libm_test_init (argc, argv);
INIT_ARCH_EXT;
do_test (); do_test ();
return libm_test_finish (); return libm_test_finish ();
} }

View File

@ -1182,8 +1182,6 @@ libm_test_init (int argc, char **argv)
initialize (); initialize ();
fputs (test_msg, stdout); fputs (test_msg, stdout);
INIT_ARCH_EXT;
check_ulp (); check_ulp ();
} }

View File

@ -30,7 +30,6 @@
#include <stdio.h> #include <stdio.h>
#include <tininess.h> #include <tininess.h>
#include <math-tests.h> #include <math-tests.h>
#include <math-tests-arch.h>
#include <nan-high-order-bit.h> #include <nan-high-order-bit.h>
extern const int flag_test_errno; extern const int flag_test_errno;