]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Don't use glibc <tgmath.h> when testing with Clang
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 18 Dec 2024 10:58:34 +0000 (18:58 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 20 Dec 2024 21:24:07 +0000 (05:24 +0800)
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>
Makeconfig
include/tgmath.h
math/Makefile

index d33369eaaf331cd8c6dbe41f15a61a094cbc3578..02a3d371b608a47743af4d37de5175ad1a26cfb7 100644 (file)
@@ -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.
index 3a2c4a2b2d3f1dcfd12521f5d0b53da0363e3767..1e81bcb1af94cc2af6c3caabbc4ee4b9ebfb9da8 100644 (file)
@@ -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
index 36fe5c2bd46015f381c535e7632cafebf28235d1..d262de8beebc8155b7338ae6804a7a099d06f2a6 100644 (file)
@@ -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