diff options
author | Reid Kleckner <rnk@google.com> | 2016-03-21 19:37:30 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-03-21 19:37:30 +0000 |
commit | a4192a743aa8d8be10f1919c573e301516a177cc (patch) | |
tree | 249dc8f9671f930f7d94822c0c1ea7db00dff9fe /compiler-rt/test | |
parent | 6896b355854576eb2902a04b2dcb52b7f9b74f7e (diff) | |
download | bcm5719-llvm-a4192a743aa8d8be10f1919c573e301516a177cc.tar.gz bcm5719-llvm-a4192a743aa8d8be10f1919c573e301516a177cc.zip |
[asan] Pass -fms-compatibility-version=19 with VS 2015
This resolves errors about char16_t and char32_t when compiling 2015 STL
headers with clang.
llvm-svn: 263973
Diffstat (limited to 'compiler-rt/test')
-rw-r--r-- | compiler-rt/test/asan/CMakeLists.txt | 7 | ||||
-rw-r--r-- | compiler-rt/test/asan/lit.cfg | 5 | ||||
-rw-r--r-- | compiler-rt/test/asan/lit.site.cfg.in | 1 |
3 files changed, 13 insertions, 0 deletions
diff --git a/compiler-rt/test/asan/CMakeLists.txt b/compiler-rt/test/asan/CMakeLists.txt index b2be9572002..3a1abc87c14 100644 --- a/compiler-rt/test/asan/CMakeLists.txt +++ b/compiler-rt/test/asan/CMakeLists.txt @@ -29,6 +29,13 @@ if(APPLE) darwin_filter_host_archs(ASAN_SUPPORTED_ARCH ASAN_TEST_ARCH) endif() +# Extract the major version from CMake's MSVC_VERSION variable and pass it into +# the lit configuration. +set(MSVC_MAJOR_VERSION "") +if (MSVC) + string(SUBSTRING "${MSVC_VERSION}" 0 2 MSVC_MAJOR_VERSION) +endif() + foreach(arch ${ASAN_TEST_ARCH}) if(ANDROID) set(ASAN_TEST_TARGET_ARCH ${arch}-android) diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index c50559a5101..829bcda456c 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -64,9 +64,13 @@ else: if config.android: extra_linkflags += ["-lm"] +msvc_major_version = get_required_attr(config, "msvc_major_version") + # Setup default compiler flags used with -fsanitize=address option. # FIXME: Review the set of required flags and check if it can be reduced. target_cflags = [get_required_attr(config, "target_cflags")] + extra_linkflags +if msvc_major_version: + target_cflags.append("-fms-compatibility-version=" + msvc_major_version) target_cxxflags = config.cxx_mode_flags + target_cflags clang_asan_static_cflags = (["-fsanitize=address", "-mno-omit-leaf-frame-pointer", @@ -110,6 +114,7 @@ if platform.system() == 'Windows': clang_cl_asan_cxxflags = ["-fsanitize=address", "-Wno-deprecated-declarations", "-WX", + "-fms-compatibility-version=" + msvc_major_version, "-D_HAS_EXCEPTIONS=0", "-Zi"] + target_cflags if config.asan_dynamic: diff --git a/compiler-rt/test/asan/lit.site.cfg.in b/compiler-rt/test/asan/lit.site.cfg.in index 1e83c749f44..0e7cd120602 100644 --- a/compiler-rt/test/asan/lit.site.cfg.in +++ b/compiler-rt/test/asan/lit.site.cfg.in @@ -5,6 +5,7 @@ config.name_suffix = "@ASAN_TEST_CONFIG_SUFFIX@" config.asan_lit_source_dir = "@ASAN_LIT_SOURCE_DIR@" config.target_cflags = "@ASAN_TEST_TARGET_CFLAGS@" +config.msvc_major_version = "@MSVC_MAJOR_VERSION@" config.clang = "@ASAN_TEST_TARGET_CC@" config.bits = "@ASAN_TEST_BITS@" config.android = "@ANDROID@" |