summaryrefslogtreecommitdiffstats
path: root/compiler-rt/cmake
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2015-07-02 00:35:47 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2015-07-02 00:35:47 +0000
commit191116f3eb4fba2d6a2fa505025d65f46db1a40a (patch)
treeab1ed9927bb30bf035d6e4af82b3128f1e54a7aa /compiler-rt/cmake
parenta2baa0d9d8528a9e507f0fe04141eb56a88f994b (diff)
downloadbcm5719-llvm-191116f3eb4fba2d6a2fa505025d65f46db1a40a.tar.gz
bcm5719-llvm-191116f3eb4fba2d6a2fa505025d65f46db1a40a.zip
ubsan: Port runtime library to (32- and 64-bit) Windows.
Differential Revision: http://reviews.llvm.org/D10856 llvm-svn: 241217
Diffstat (limited to 'compiler-rt/cmake')
-rw-r--r--compiler-rt/cmake/config-ix.cmake13
1 files changed, 9 insertions, 4 deletions
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
index b6fe8ffb08c..7ba85f8647e 100644
--- a/compiler-rt/cmake/config-ix.cmake
+++ b/compiler-rt/cmake/config-ix.cmake
@@ -181,7 +181,11 @@ else()
test_target_arch(i686 __i686__ "-m32")
test_target_arch(i386 __i386__ "-m32")
else()
- test_target_arch(i386 "" "")
+ if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ test_target_arch(i386 "" "")
+ else()
+ test_target_arch(x86_64 "" "")
+ endif()
endif()
elseif("${LLVM_NATIVE_ARCH}" STREQUAL "PowerPC")
TEST_BIG_ENDIAN(HOST_IS_BIG_ENDIAN)
@@ -267,13 +271,14 @@ endif()
if (SANITIZER_COMMON_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
(OS_NAME MATCHES "Android|Darwin|Linux|FreeBSD" OR
- (OS_NAME MATCHES "Windows" AND MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 4)))
+ (OS_NAME MATCHES "Windows" AND MSVC)))
set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)
else()
set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)
endif()
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH)
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH AND
+ (NOT OS_NAME MATCHES "Windows" OR CMAKE_SIZEOF_VOID_P EQUAL 4))
set(COMPILER_RT_HAS_ASAN TRUE)
else()
set(COMPILER_RT_HAS_ASAN FALSE)
@@ -323,7 +328,7 @@ else()
endif()
if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
- OS_NAME MATCHES "Darwin|Linux|FreeBSD")
+ OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows")
set(COMPILER_RT_HAS_UBSAN TRUE)
else()
set(COMPILER_RT_HAS_UBSAN FALSE)
OpenPOWER on IntegriCloud