aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--cmake/modules/LLVMProcessSources.cmake3
2 files changed, 4 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 28e90475d4..371d73bbd9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -247,6 +247,7 @@ if( MSVC )
add_llvm_definitions( -D_SCL_SECURE_NO_DEPRECATE )
add_llvm_definitions( -wd4146 -wd4503 -wd4996 -wd4800 -wd4244 -wd4624 )
add_llvm_definitions( -wd4355 -wd4715 -wd4180 -wd4345 -wd4224 -wd4267 -wd4291 )
+ add_llvm_definitions( -wd4275)
# Suppress 'new behavior: elements of array 'array' will be default initialized'
add_llvm_definitions( -wd4351 )
diff --git a/cmake/modules/LLVMProcessSources.cmake b/cmake/modules/LLVMProcessSources.cmake
index e8a5a9431a..7bfca207f6 100644
--- a/cmake/modules/LLVMProcessSources.cmake
+++ b/cmake/modules/LLVMProcessSources.cmake
@@ -41,6 +41,9 @@ function(llvm_process_sources OUT_VAR)
if( NOT LLVM_REQUIRES_EH )
if( CMAKE_COMPILER_IS_GNUCXX )
add_definitions( -fno-exceptions )
+ elseif( MSVC )
+ add_definitions( /EHs-c- )
+ add_definitions( /D_HAS_EXCEPTIONS=0 )
endif()
endif()
if( NOT LLVM_REQUIRES_RTTI )