glibc/math/test-math-inline.h
Joseph Myers 9b40563c8b Move -U__LIBC_INTERNAL_MATH_INLINES to test-math-inline.h.
The libm tests of inline functions undefine __NO_MATH_INLINES (from
math-CPPFLAGS) in test-math-inline.h, but __LIBC_INTERNAL_MATH_INLINES
via -U options in the makefile.

This is an odd inconsistency between the handling of the two macros.
It also depends on the ordering (in compilation commands) of the
various variables providing compiler options (which I think is why
it's using CPPFLAGS-*.c instead of CFLAGS-*.c).

This patch moves the undefine to test-math-inline.h, so improving
consistency and eliminating the dependency on the order in which
variables go in the compilation commands.  The CPPFLAGS-*.c variables
are renamed to CFLAGS-*.c, matching those for the non-inline libm
function tests.

By moving the -U option to the header file, this should ensure that
ordering issues don't arise with a subsequent move of the options to
these tests to target-specific CFLAGS += ... variable settings (for
when tests for each function are build separately and so compilation
options need setting for many more makefile targets, for which
target-specific variable settings seem to be the most convenient form
to generate with iterators).

Tested for x86_64.

	* math/test-math-inline.h (__LIBC_INTERNAL_MATH_INLINES): Undefine
	macro.
	* math/Makefile (CPPFLAGS-test-ifloat.c): Rename to ...
	(CFLAGS-test-ifloat.c): ... this.  Remove
	-U__LIBC_INTERNAL_MATH_INLINES.
	* math/Makefile (CPPFLAGS-test-idouble.c): Rename to ...
	(CFLAGS-test-idouble.c): ... this.  Remove
	-U__LIBC_INTERNAL_MATH_INLINES.
	* math/Makefile (CPPFLAGS-test-ildouble.c): Rename to ...
	(CFLAGS-test-ildouble.c): ... this.  Remove
	-U__LIBC_INTERNAL_MATH_INLINES.
2017-02-09 17:32:48 +00:00

28 lines
1.0 KiB
C

/* Common definitions for libm tests for inline functions.
Copyright (C) 1997-2017 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#define TEST_INLINE 1
#define TEST_FINITE 0
#define TEST_ERRNO 0
#define TEST_EXCEPTIONS 0
#undef __LIBC_INTERNAL_MATH_INLINES
#ifdef __NO_MATH_INLINES
# undef __NO_MATH_INLINES
#endif