[Sanitizers Win] Move duplicate Windows-specific compiler flags to a common CMake...
authorTimur Iskhodzhanov <timurrrr@google.com>
Fri, 30 May 2014 12:42:57 +0000 (12:42 +0000)
committerTimur Iskhodzhanov <timurrrr@google.com>
Fri, 30 May 2014 12:42:57 +0000 (12:42 +0000)
Reviewed at http://reviews.llvm.org/D3952

llvm-svn: 209889

compiler-rt/cmake/Modules/AddCompilerRT.cmake
compiler-rt/lib/asan/tests/CMakeLists.txt
compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt

index 78d2492..0f6260a 100644 (file)
@@ -113,6 +113,8 @@ macro(add_compiler_rt_darwin_dynamic_runtime name os)
     LIBRARY DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
 endmacro()
 
+set(COMPILER_RT_TEST_CFLAGS)
+
 # Unittests support.
 set(COMPILER_RT_GTEST_PATH ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest)
 set(COMPILER_RT_GTEST_SOURCE ${COMPILER_RT_GTEST_PATH}/src/gtest-all.cc)
@@ -124,8 +126,18 @@ set(COMPILER_RT_GTEST_CFLAGS
 )
 
 if(MSVC)
+  # clang doesn't support exceptions on Windows yet.
+  list(APPEND COMPILER_RT_TEST_CFLAGS
+       -D_HAS_EXCEPTIONS=0)
+
+  # We should teach clang to understand "#pragma intrinsic", see PR19898.
+  list(APPEND COMPILER_RT_TEST_CFLAGS -Wno-undefined-inline)
+
   # Clang doesn't support SEH on Windows yet.
   list(APPEND COMPILER_RT_GTEST_CFLAGS -DGTEST_HAS_SEH=0)
+
+  # gtest use a lot of stuff marked as deprecated on Windows.
+  list(APPEND COMPILER_RT_GTEST_CFLAGS -Wno-deprecated-declarations)
 endif()
 
 # Link objects into a single executable with COMPILER_RT_TEST_COMPILER,
index 9a34cb0..5424338 100644 (file)
@@ -21,6 +21,7 @@ set(ASAN_UNITTEST_HEADERS
   asan_test_utils.h)
 
 set(ASAN_UNITTEST_COMMON_CFLAGS
+  ${COMPILER_RT_TEST_CFLAGS}
   ${COMPILER_RT_GTEST_CFLAGS}
   -I${COMPILER_RT_SOURCE_DIR}/include
   -I${COMPILER_RT_SOURCE_DIR}/lib
@@ -39,21 +40,6 @@ else()
   list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -g)
 endif()
 
-if(MSVC)
-  # MSVC system headers and gtest use a lot of deprecated stuff.
-  list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
-       -Wno-deprecated-declarations)
-
-  # clang doesn't support exceptions on Windows yet.
-  list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
-       -D_HAS_EXCEPTIONS=0)
-
-  # We should teach clang to understand more pragmas.
-  list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
-       -Wno-unknown-pragmas
-       -Wno-undefined-inline)
-endif()
-
 # Use -D instead of definitions to please custom compile command.
 list(APPEND ASAN_UNITTEST_COMMON_CFLAGS
   -DASAN_HAS_BLACKLIST=1
index 3e868f5..903012a 100644 (file)
@@ -34,6 +34,7 @@ foreach(header ${SANITIZER_HEADERS})
 endforeach()
 
 set(SANITIZER_TEST_CFLAGS_COMMON
+  ${COMPILER_RT_TEST_CFLAGS}
   ${COMPILER_RT_GTEST_CFLAGS}
   -I${COMPILER_RT_SOURCE_DIR}/include
   -I${COMPILER_RT_SOURCE_DIR}/lib
@@ -50,21 +51,6 @@ else()
   list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -g)
 endif()
 
-if(MSVC)
-  # MSVC system headers and gtest use a lot of deprecated stuff.
-  list(APPEND SANITIZER_TEST_CFLAGS_COMMON
-       -Wno-deprecated-declarations)
-
-  # clang doesn't support exceptions on Windows yet.
-  list(APPEND SANITIZER_TEST_CFLAGS_COMMON
-       -D_HAS_EXCEPTIONS=0)
-
-  # We should teach clang to understand more pragmas.
-  list(APPEND SANITIZER_TEST_CFLAGS_COMMON
-       -Wno-unknown-pragmas
-       -Wno-undefined-inline)
-endif()
-
 if(NOT MSVC)
   list(APPEND SANITIZER_TEST_LINK_FLAGS_COMMON --driver-mode=g++)
 endif()