[PATCH] Don't use -finput-charset=ascii with clang nor clang++

H.J. Lu hjl.tools@gmail.com
Wed Dec 18 10:55:23 GMT 2024


Since clang and clang++ don't support -finput-charset=ascii, use
-finput-charset=ascii in check-installed-headers.sh only if clang
and clang++ aren't used.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 Makeconfig                         | 5 +++++
 Makefile                           | 6 ++++--
 Rules                              | 6 ++++--
 scripts/check-installed-headers.sh | 3 +--
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/Makeconfig b/Makeconfig
index d33369eaaf..04c43e80f7 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -66,6 +66,11 @@ export sysdep_dir := $(sysdep_dir)
 # Get the values defined by options to `configure'.
 include $(common-objpfx)config.make
 
+# Since clang and clang++ don't support -finput-charset=ascii, use it
+# only if clang and clang++ aren't used.
+cflags-finput-charset = $(if $(filter no,$(have-test-clang)),-finput-charset=ascii)
+cxxflags-finput-charset = $(if $(filter no,$(have-test-clangxx)),-finput-charset=ascii)
+
 # What flags to give to sources which call user provided callbacks
 uses-callbacks = -fexceptions
 
diff --git a/Makefile b/Makefile
index c84f266ce7..083b1475eb 100644
--- a/Makefile
+++ b/Makefile
@@ -546,7 +546,8 @@ libof-check-installed-headers-c := testsuite
 $(objpfx)check-installed-headers-c.out: \
     scripts/check-installed-headers.sh $(headers)
 	$(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
-	  "$(CC) $(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
+	  "$(CC) $(cflags-finput-charset) $(filter-out -std=%,$(CFLAGS)) \
+	     -D_ISOMAC $(+includes)" \
 	  $(headers) > $@; \
 	$(evaluate-test)
 
@@ -556,7 +557,8 @@ libof-check-installed-headers-cxx := testsuite
 $(objpfx)check-installed-headers-cxx.out: \
     scripts/check-installed-headers.sh $(headers)
 	$(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
-	  "$(CXX) $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
+	  "$(CXX) $(cxxflags-finput-charset) \
+	     $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
 	  $(headers) > $@; \
 	$(evaluate-test)
 endif # $(CXX)
diff --git a/Rules b/Rules
index 713c225d2e..d36dde56e2 100644
--- a/Rules
+++ b/Rules
@@ -86,7 +86,8 @@ libof-check-installed-headers-c := testsuite
 $(objpfx)check-installed-headers-c.out: \
     $(..)scripts/check-installed-headers.sh $(headers)
 	$(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
-	  "$(CC) $(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
+	  "$(CC) $(cflags-finput-charset) $(filter-out -std=%,$(CFLAGS)) \
+	     -D_ISOMAC $(+includes)" \
 	  $(headers) > $@; \
 	$(evaluate-test)
 
@@ -98,7 +99,8 @@ libof-check-installed-headers-cxx := testsuite
 $(objpfx)check-installed-headers-cxx.out: \
     $(..)scripts/check-installed-headers.sh $(headers)
 	$(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
-	  "$(CXX) $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
+	  "$(CXX) $(cxxflags-finput-charset) \
+	     $(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
 	  $(headers) > $@; \
 	$(evaluate-test)
 endif # $(CXX)
diff --git a/scripts/check-installed-headers.sh b/scripts/check-installed-headers.sh
index b8cdcbf858..64cbfda544 100644
--- a/scripts/check-installed-headers.sh
+++ b/scripts/check-installed-headers.sh
@@ -130,8 +130,7 @@ $expanded_lib_mode
 #include <$header>
 int avoid_empty_translation_unit;
 EOF
-                if $cc_cmd -finput-charset=ascii -fsyntax-only $lang_mode \
-		           "$cih_test_c" 2>&1
+                if $cc_cmd -fsyntax-only $lang_mode "$cih_test_c" 2>&1
                 then :
                 else failed=1
                 fi
-- 
2.47.1



More information about the Libc-alpha mailing list