[PATCH] D56329: Fix some warnings on MSVC
Alexandre Ganea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 16 17:03:36 PST 2019
aganea updated this revision to Diff 182192.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D56329/new/
https://reviews.llvm.org/D56329
Files:
examples/Kaleidoscope/Chapter2/CMakeLists.txt
unittests/Support/CMakeLists.txt
Index: unittests/Support/CMakeLists.txt
===================================================================
--- unittests/Support/CMakeLists.txt
+++ unittests/Support/CMakeLists.txt
@@ -83,7 +83,21 @@
# Disable all warning for AlignOfTest.cpp,
# as it does things intentionally, and there is no reliable way of
# disabling all warnings for all the compilers by using pragmas.
-set_source_files_properties(AlignOfTest.cpp PROPERTIES COMPILE_FLAGS -w)
+# Don't disable on MSVC, because all incriminated warnings are already disabled
+# in source; and because we would otherwise see this warning:
+# cl : Command line warning D9025: overriding '/W4' with '/w'
+if(NOT MSVC)
+ set_source_files_properties(AlignOfTest.cpp PROPERTIES COMPILE_FLAGS -w)
+endif()
+if(MSVC)
+ if( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.15 )
+ # Since VS2017 15.8, the following snippet: Failed<CustomSubError>()
+ # generates a warning:
+ # \svn\llvm\utils\unittest\googlemock\include\gmock\gmock-matchers.h(186):
+ # warning C5046: 'testing::MatcherInterface<T>::~MatcherInterface': Symbol involving type with internal linkage not defined
+ set_source_files_properties(ErrorTest.cpp PROPERTIES COMPILE_FLAGS -wd5046)
+ endif()
+endif()
# ManagedStatic.cpp uses <pthread>.
target_link_libraries(SupportTests PRIVATE LLVMTestingSupport ${LLVM_PTHREAD_LIB})
Index: examples/Kaleidoscope/Chapter2/CMakeLists.txt
===================================================================
--- examples/Kaleidoscope/Chapter2/CMakeLists.txt
+++ examples/Kaleidoscope/Chapter2/CMakeLists.txt
@@ -11,3 +11,8 @@
-Wno-unused-private-field
)
endif()
+
+if(MSVC)
+ # ignore "warning LNK4199: /DELAYLOAD:shell32.dll ignored; no imports found from shell32.dll"
+ target_link_libraries(Kaleidoscope-Ch2 PRIVATE "-ignore:4199")
+endif()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56329.182192.patch
Type: text/x-patch
Size: 1842 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190117/b22d4e59/attachment.bin>
More information about the llvm-commits
mailing list