diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2024-12-18 18:58:34 +0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2024-12-21 05:24:07 +0800 |
commit | 034cd675286db07110a773fdb6a857285485d2d4 (patch) | |
tree | 7c7d90d534fae490f07c2091e8da69340b9b1073 | |
parent | 6025b399c735d3d9f27472b11fad2cab4f62aeb5 (diff) | |
download | glibc-034cd675286db07110a773fdb6a857285485d2d4.zip glibc-034cd675286db07110a773fdb6a857285485d2d4.tar.gz glibc-034cd675286db07110a773fdb6a857285485d2d4.tar.bz2 |
Don't use glibc <tgmath.h> when testing with Clang
Clang has its own <tgmath.h> and doesn't use <tgmath.h> from glibc. Pass
"-I." to compiler only if $($(<F)-no-include-dot) are undefined. Define
it to yes for tgmath tests when testing with Clang.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Sam James <sam@gentoo.org>
-rw-r--r-- | Makeconfig | 3 | ||||
-rw-r--r-- | include/tgmath.h | 8 | ||||
-rw-r--r-- | math/Makefile | 24 |
3 files changed, 27 insertions, 8 deletions
@@ -1031,7 +1031,8 @@ endif # current directory. +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \ $(+sysdep-includes) $(includes) \ - $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes) + $(patsubst %/,-I%,$(..)) $(libio-include) \ + $(if $($(<F)-no-include-dot),,-I.) $(sysincludes) # Since libio has several internal header files, we use a -I instead # of many little headers in the include directory. diff --git a/include/tgmath.h b/include/tgmath.h index 3a2c4a2..1e81bcb 100644 --- a/include/tgmath.h +++ b/include/tgmath.h @@ -1 +1,7 @@ -#include <math/tgmath.h> +/* NB: Clang has its own <tgmath.h> and doesn't use <tgmath.h> from + glibc. */ +#if defined _ISOMAC && defined __clang__ +# include_next <tgmath.h> +#else +# include <math/tgmath.h> +#endif diff --git a/math/Makefile b/math/Makefile index 36fe5c2..d262de8 100644 --- a/math/Makefile +++ b/math/Makefile @@ -510,7 +510,6 @@ tests = \ $(tests-static) \ bug-nextafter \ bug-nexttoward \ - bug-tgmath1 \ test-ceil-except-2 \ test-femode \ test-femode-traps \ @@ -548,15 +547,18 @@ tests = \ test-signgam-ullong \ test-signgam-ullong-init \ test-snan \ - test-tgmath \ - test-tgmath-int \ - test-tgmath-ret \ - test-tgmath2 \ test-trunc-except-2 \ tst-CMPLX \ tst-CMPLX2 \ tst-definitions \ # tests +tests-tgmath = \ + bug-tgmath1 \ + test-tgmath \ + test-tgmath-int \ + test-tgmath-ret \ + test-tgmath2 \ + # tests-tgmath ifneq ($(config-cflags-signaling-nans),) tests += \ test-fe-snans-always-signal \ @@ -1026,7 +1028,9 @@ tgmath3-macros = \ ufromfpx \ # tgmath3-macros tgmath3-macro-tests = $(addprefix test-tgmath3-,$(tgmath3-macros)) -tests += $(tgmath3-macro-tests) +tests-tgmath += $(tgmath3-macro-tests) +tests += $(tests-tgmath) + generated += $(addsuffix .c,$(tgmath3-macro-tests)) $(tgmath3-macro-tests:%=$(objpfx)%.o): CFLAGS += -fno-builtin @@ -1043,6 +1047,14 @@ $(objpfx)test-tgmath3-macro-list.out: gen-tgmath-tests.py $(PYTHON) $< check-list $(tgmath3-macros) > $@; \ $(evaluate-test) +ifeq ($(have-test-clang),yes) +# NB: Clang has its own <tgmath.h> and doesn't use <tgmath.h> from glibc. +define no-include +$(1).c-no-include-dot = yes +endef +$(foreach m,$(tests-tgmath),$(eval $(call no-include,$(m)))) +endif + libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH libm-test-vec-cflags = $(libm-test-fast-math-cflags) -fno-inline \ -ffloat-store -D_OPENMP=201307 -Wno-unknown-pragmas |