================
@@ -38,9 +38,13 @@ check_cxx_compiler_flag(-nolibc CXX_SUPPORTS_NOLIBC_FLAG)
 # required during compilation (which has the -nostdlib++ or -nodefaultlibs). 
libc is
 # required for the link to go through. We remove sanitizers from the
 # configuration checks to avoid spurious link errors.
+#
+# Adding flags to CMAKE_REQUIRED_FLAGS will include the flags both when testing
+# compilation of C and C++. Therefore test to make sure that the flags are
+# supported by the C compiler driver, before deciding to include them.
 
-check_cxx_compiler_flag(-nostdlib++ CXX_SUPPORTS_NOSTDLIBXX_FLAG)
-if (CXX_SUPPORTS_NOSTDLIBXX_FLAG)
+check_c_compiler_flag(-nostdlib++ C_SUPPORTS_NOSTDLIBXX_FLAG)
----------------
mstorsjo wrote:

The problem is that even if we don’t use any C sources outright, cmake uses C 
compilation tests when you do a check for whether a library exists. And these 
are subtly broken if building with GCC right now. (To make matters worse, not 
all GCC versions are affected. But that’s a bug - GCC intends to reject these 
options in the C frontend.) IIRC one of the issues mentioned in the linked bug 
was about library detection in libcxxabi.

https://github.com/llvm/llvm-project/pull/108357
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to