diff options
4 files changed, 17 insertions, 5 deletions
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc index 76c00e4f4f9..c9d360947b1 100644 --- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc +++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_allocator_test.cc @@ -335,7 +335,9 @@ void FailInAssertionOnOOM() { a.TestOnlyUnmap(); } -#if SANITIZER_CAN_USE_ALLOCATOR64 +// Don't test OOM conditions on Win64 because it causes other tests on the same +// machine to OOM. +#if SANITIZER_CAN_USE_ALLOCATOR64 && !SANITIZER_WINDOWS64 TEST(SanitizerCommon, SizeClassAllocator64Overflow) { EXPECT_DEATH(FailInAssertionOnOOM<Allocator64>(), "Out of memory"); } @@ -777,7 +779,9 @@ TEST(SanitizerCommon, LargeMmapAllocatorBlockBegin) { } -#if SANITIZER_CAN_USE_ALLOCATOR64 +// Don't test OOM conditions on Win64 because it causes other tests on the same +// machine to OOM. +#if SANITIZER_CAN_USE_ALLOCATOR64 && !SANITIZER_WINDOWS64 // Regression test for out-of-memory condition in PopulateFreeList(). TEST(SanitizerCommon, SizeClassAllocator64PopulateFreeListOOM) { // In a world where regions are small and chunks are huge... diff --git a/compiler-rt/test/asan/TestCases/use-after-scope-capture.cc b/compiler-rt/test/asan/TestCases/use-after-scope-capture.cc index 07aab672eec..113ce353666 100644 --- a/compiler-rt/test/asan/TestCases/use-after-scope-capture.cc +++ b/compiler-rt/test/asan/TestCases/use-after-scope-capture.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -std=c++11 -O1 -fsanitize-address-use-after-scope %s -o %t && \ +// RUN: %clangxx_asan %stdcxx11 -O1 -fsanitize-address-use-after-scope %s -o %t && \ // RUN: not %run %t 2>&1 | FileCheck %s #include <functional> diff --git a/compiler-rt/test/asan/TestCases/use-after-scope-types.cc b/compiler-rt/test/asan/TestCases/use-after-scope-types.cc index 93049ffd836..b21368164d1 100644 --- a/compiler-rt/test/asan/TestCases/use-after-scope-types.cc +++ b/compiler-rt/test/asan/TestCases/use-after-scope-types.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -std=c++11 -O0 -fsanitize-address-use-after-scope %s -o %t +// RUN: %clangxx_asan %stdcxx11 -O0 -fsanitize-address-use-after-scope %s -o %t // RUN: %env_asan_opts=detect_stack_use_after_scope=1 not %run %t 0 2>&1 | FileCheck %s // RUN: %env_asan_opts=detect_stack_use_after_scope=1 not %run %t 1 2>&1 | FileCheck %s // RUN: %env_asan_opts=detect_stack_use_after_scope=1 not %run %t 2 2>&1 | FileCheck %s @@ -43,7 +43,7 @@ template <class T> void test() { ptr.Access(); // CHECK: ERROR: AddressSanitizer: stack-use-after-scope - // CHECK: #{{[0-9]+}} 0x{{.*}} in void test{{.*}}(){{.*}}use-after-scope-types.cc + // CHECK: #{{[0-9]+}} 0x{{.*}} in {{(void )?test.*\((void)?\) .*}}use-after-scope-types.cc // CHECK: Address 0x{{.*}} is located in stack of thread T{{.*}} at offset [[OFFSET:[^ ]+]] in frame // {{\[}}[[OFFSET]], {{[0-9]+}}) 'x' } diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index 894c3f859fb..f2c0c872e01 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -124,6 +124,14 @@ if platform.system() == 'Windows': config.substitutions.append( ("%asan_cxx_lib", base_lib % "_cxx") ) config.substitutions.append( ("%asan_dll_thunk", base_lib % "_dll_thunk") ) +if platform.system() == 'Windows': + # Don't use -std=c++11 on Windows, as the driver will detect the appropriate + # default needed to use with the STL. + config.substitutions.append(("%stdcxx11 ", "")) +else: + # Some tests uses C++11 features such as lambdas and need to pass -std=c++11. + config.substitutions.append(("%stdcxx11 ", "-std=c++11 ")) + # FIXME: De-hardcode this path. asan_source_dir = os.path.join( get_required_attr(config, "compiler_rt_src_root"), "lib", "asan") |