[libcxx-commits] [PATCH] D98035: [libcxx] Don't add -Wall when building in MSVC mode

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Mar 5 06:55:26 PST 2021


mstorsjo updated this revision to Diff 328512.
mstorsjo added a comment.

Added -W4 for MSVC


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D98035/new/

https://reviews.llvm.org/D98035

Files:
  libcxx/CMakeLists.txt


Index: libcxx/CMakeLists.txt
===================================================================
--- libcxx/CMakeLists.txt
+++ libcxx/CMakeLists.txt
@@ -572,7 +572,15 @@
 # Warning flags ===============================================================
 function(cxx_add_warning_flags target)
   target_compile_definitions(${target} PUBLIC -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-  target_add_compile_flags_if_supported(${target} PRIVATE -Wall -Wextra -W -Wwrite-strings
+  if (NOT MSVC)
+    # Don't add -Wall with clang-cl; in cl.exe mode, -Wall (or /Wall) means
+    # the same as -Weverything in a GCC like driver.
+    target_add_compile_flags_if_supported(${target} PRIVATE -Wall)
+  else()
+    # -W4 is the cl.exe equivalent of -Wall
+    target_add_compile_flags_if_supported(${target} PRIVATE -W4)
+  endif()
+  target_add_compile_flags_if_supported(${target} PRIVATE -Wextra -W -Wwrite-strings
                                                           -Wno-unused-parameter -Wno-long-long
                                                           -Werror=return-type -Wextra-semi)
   if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98035.328512.patch
Type: text/x-patch
Size: 1143 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210305/a5b5c6c1/attachment.bin>


More information about the libcxx-commits mailing list