From 82ee0433da3c2d2f2eb9f46f80c463f71bb75c29 Mon Sep 17 00:00:00 2001 From: Timur Iskhodzhanov Date: Wed, 28 May 2014 08:38:13 +0000 Subject: [PATCH] [ASan/Win] Use clang rather than clang-cl by default for lit tests. Make Windows-only tests explicitly use clang-cl. Reviewed at http://reviews.llvm.org/D3893 llvm-svn: 209719 --- compiler-rt/CMakeLists.txt | 10 ++------ compiler-rt/cmake/Modules/AddCompilerRT.cmake | 9 +++++-- compiler-rt/cmake/Modules/CompilerRTCompile.cmake | 10 ++++++-- compiler-rt/lib/asan/tests/CMakeLists.txt | 19 ++++++++------ .../lib/sanitizer_common/tests/CMakeLists.txt | 20 +++++++-------- .../test/asan/TestCases/Windows/aligned_mallocs.cc | 2 +- .../asan/TestCases/Windows/allocators_sanity.cc | 2 +- .../test/asan/TestCases/Windows/beginthreadex.cc | 2 +- .../test/asan/TestCases/Windows/bitfield.cc | 2 +- .../test/asan/TestCases/Windows/bitfield_uaf.cc | 2 +- .../test/asan/TestCases/Windows/calloc_left_oob.cc | 2 +- .../asan/TestCases/Windows/calloc_right_oob.cc | 2 +- .../test/asan/TestCases/Windows/calloc_uaf.cc | 2 +- .../asan/TestCases/Windows/crt_initializers.cc | 2 +- .../asan/TestCases/Windows/dll_aligned_mallocs.cc | 4 +-- .../TestCases/Windows/dll_allocators_sanity.cc | 4 +-- .../test/asan/TestCases/Windows/dll_host.cc | 2 +- .../asan/TestCases/Windows/dll_intercept_memcpy.cc | 4 +-- .../asan/TestCases/Windows/dll_intercept_strlen.cc | 4 +-- .../asan/TestCases/Windows/dll_malloc_left_oob.cc | 4 +-- .../test/asan/TestCases/Windows/dll_malloc_uaf.cc | 4 +-- .../test/asan/TestCases/Windows/dll_noreturn.cc | 4 +-- .../Windows/dll_operator_array_new_left_oob.cc | 4 +-- .../dll_operator_array_new_with_dtor_left_oob.cc | 4 +-- .../asan/TestCases/Windows/dll_poison_unpoison.cc | 4 +-- .../Windows/dll_stack_use_after_return.cc | 4 +-- .../Windows/dll_thread_stack_array_left_oob.cc | 4 +-- .../test/asan/TestCases/Windows/double_free.cc | 2 +- .../TestCases/Windows/double_operator_delete.cc | 2 +- .../asan/TestCases/Windows/global_const_string.cc | 2 +- .../TestCases/Windows/global_const_string_oob.cc | 2 +- .../test/asan/TestCases/Windows/hello_world.cc | 2 +- .../asan/TestCases/Windows/intercept_memcpy.cc | 2 +- .../asan/TestCases/Windows/intercept_strdup.cc | 2 +- .../asan/TestCases/Windows/intercept_strlen.cc | 2 +- .../test/asan/TestCases/Windows/malloc_left_oob.cc | 2 +- .../asan/TestCases/Windows/malloc_right_oob.cc | 2 +- .../test/asan/TestCases/Windows/malloc_uaf.cc | 2 +- .../Windows/operator_array_new_left_oob.cc | 2 +- .../Windows/operator_array_new_right_oob.cc | 2 +- .../TestCases/Windows/operator_array_new_uaf.cc | 2 +- .../operator_array_new_with_dtor_left_oob.cc | 2 +- .../Windows/operator_delete_wrong_argument.cc | 2 +- .../TestCases/Windows/operator_new_left_oob.cc | 2 +- .../TestCases/Windows/operator_new_right_oob.cc | 2 +- .../asan/TestCases/Windows/operator_new_uaf.cc | 2 +- .../asan/TestCases/Windows/realloc_left_oob.cc | 2 +- .../asan/TestCases/Windows/realloc_right_oob.cc | 2 +- .../test/asan/TestCases/Windows/realloc_uaf.cc | 2 +- .../asan/TestCases/Windows/stack_array_left_oob.cc | 2 +- .../TestCases/Windows/stack_array_right_oob.cc | 2 +- .../asan/TestCases/Windows/stack_array_sanity.cc | 2 +- .../TestCases/Windows/stack_use_after_return.cc | 2 +- .../test/asan/TestCases/Windows/thread_simple.cc | 2 +- .../Windows/thread_stack_array_left_oob.cc | 2 +- .../Windows/thread_stack_array_right_oob.cc | 2 +- .../asan/TestCases/Windows/thread_stack_reuse.cc | 2 +- .../test/asan/TestCases/Windows/thread_stress.cc | 2 +- .../asan/TestCases/Windows/use_after_realloc.cc | 2 +- .../test/asan/TestCases/Windows/windows_h.cc | 2 +- .../TestCases/Windows/wrong_downcast_on_heap.cc | 2 +- .../TestCases/Windows/wrong_downcast_on_stack.cc | 2 +- compiler-rt/test/asan/lit.cfg | 29 ++++++++++++---------- 63 files changed, 124 insertions(+), 111 deletions(-) diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt index da49e5e..b64893d 100644 --- a/compiler-rt/CMakeLists.txt +++ b/compiler-rt/CMakeLists.txt @@ -61,12 +61,8 @@ if (NOT COMPILER_RT_STANDALONE_BUILD) # Windows where we need to use clang-cl instead. if(NOT MSVC) set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang) - set(COMPILER_RT_TEST_COMPILER_EXE "-o") - set(COMPILER_RT_TEST_COMPILER_OBJ "-o") else() - set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang-cl.exe) - set(COMPILER_RT_TEST_COMPILER_EXE "-Fe") - set(COMPILER_RT_TEST_COMPILER_OBJ "-Fo") + set(COMPILER_RT_TEST_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang.exe) endif() else() # Take output dir and install path from the user. @@ -80,8 +76,6 @@ else() option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF) # Use a host compiler to compile/link tests. set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing") - set(COMPILER_RT_TEST_COMPILER_EXE "-o") - set(COMPILER_RT_TEST_COMPILER_OBJ "-o") if (NOT LLVM_CONFIG_PATH) find_program(LLVM_CONFIG_PATH "llvm-config" @@ -131,7 +125,7 @@ endif() if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$") set(COMPILER_RT_TEST_COMPILER_ID Clang) -elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang-cl.exe$") +elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$") set(COMPILER_RT_TEST_COMPILER_ID Clang) else() set(COMPILER_RT_TEST_COMPILER_ID GNU) diff --git a/compiler-rt/cmake/Modules/AddCompilerRT.cmake b/compiler-rt/cmake/Modules/AddCompilerRT.cmake index 69c30e3..78d2492 100644 --- a/compiler-rt/cmake/Modules/AddCompilerRT.cmake +++ b/compiler-rt/cmake/Modules/AddCompilerRT.cmake @@ -118,10 +118,16 @@ 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) set(COMPILER_RT_GTEST_CFLAGS -DGTEST_NO_LLVM_RAW_OSTREAM=1 + -DGTEST_HAS_RTTI=0 -I${COMPILER_RT_GTEST_PATH}/include -I${COMPILER_RT_GTEST_PATH} ) +if(MSVC) + # Clang doesn't support SEH on Windows yet. + list(APPEND COMPILER_RT_GTEST_CFLAGS -DGTEST_HAS_SEH=0) +endif() + # Link objects into a single executable with COMPILER_RT_TEST_COMPILER, # using specified link flags. Make executable a part of provided # test_suite. @@ -147,9 +153,8 @@ macro(add_compiler_rt_test test_suite test_name) separate_arguments(TEST_LINK_FLAGS) endif() add_custom_target(${test_name} - # MSVS CL doesn't allow a space between -Fe and the output file name. COMMAND ${COMPILER_RT_TEST_COMPILER} ${TEST_OBJECTS} - ${COMPILER_RT_TEST_COMPILER_EXE}"${output_bin}" + -o "${output_bin}" ${TEST_LINK_FLAGS} DEPENDS ${TEST_DEPS}) # Make the test suite depend on the binary. diff --git a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake index 4885c82..2d1dd22 100644 --- a/compiler-rt/cmake/Modules/CompilerRTCompile.cmake +++ b/compiler-rt/cmake/Modules/CompilerRTCompile.cmake @@ -17,15 +17,21 @@ macro(clang_compile object_file source) else() string(REPLACE " " ";" global_flags "${CMAKE_C_FLAGS}") endif() + # On Windows, CMAKE_*_FLAGS are built for MSVC but we use the GCC clang.exe + # which doesn't support flags starting with "/smth". Replace those with + # "-smth" equivalents. + if(MSVC) + string(REGEX REPLACE "^/" "-" global_flags "${global_flags}") + string(REPLACE ";/" ";-" global_flags "${global_flags}") + endif() # Ignore unknown warnings. CMAKE_CXX_FLAGS may contain GCC-specific options # which are not supported by Clang. list(APPEND global_flags -Wno-unknown-warning-option) set(compile_flags ${global_flags} ${SOURCE_CFLAGS}) add_custom_command( OUTPUT ${object_file} - # MSVS CL doesn't allow a space between -Fo and the object file name. COMMAND ${COMPILER_RT_TEST_COMPILER} ${compile_flags} -c - ${COMPILER_RT_TEST_COMPILER_OBJ}"${object_file}" + -o "${object_file}" ${source_rpath} MAIN_DEPENDENCY ${source} DEPENDS ${SOURCE_DEPS}) diff --git a/compiler-rt/lib/asan/tests/CMakeLists.txt b/compiler-rt/lib/asan/tests/CMakeLists.txt index 470543f..9a34cb0 100644 --- a/compiler-rt/lib/asan/tests/CMakeLists.txt +++ b/compiler-rt/lib/asan/tests/CMakeLists.txt @@ -26,24 +26,29 @@ set(ASAN_UNITTEST_COMMON_CFLAGS -I${COMPILER_RT_SOURCE_DIR}/lib -I${COMPILER_RT_SOURCE_DIR}/lib/asan -I${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/tests + -fno-rtti + -O2 -Wno-format - -Werror=sign-compare - -O2) -append_if(COMPILER_RT_HAS_G_FLAG -g ASAN_UNITTEST_COMMON_CFLAGS) -append_if(COMPILER_RT_HAS_Zi_FLAG -Zi ASAN_UNITTEST_COMMON_CFLAGS) + -Werror=sign-compare) append_if(COMPILER_RT_HAS_WNO_VARIADIC_MACROS_FLAG -Wno-variadic-macros ASAN_UNITTEST_COMMON_CFLAGS) +# -gline-tables-only must be enough for ASan, so use it if possible. +if(COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang") + list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -gline-tables-only) +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-cl doesn't support exceptions yet. + # clang doesn't support exceptions on Windows yet. list(APPEND ASAN_UNITTEST_COMMON_CFLAGS - /fallback -D_HAS_EXCEPTIONS=0) - # We should teach clang-cl to understand more pragmas. + # We should teach clang to understand more pragmas. list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -Wno-unknown-pragmas -Wno-undefined-inline) diff --git a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt index 331117b..a374adb 100644 --- a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt +++ b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt @@ -38,28 +38,28 @@ set(SANITIZER_TEST_CFLAGS_COMMON -I${COMPILER_RT_SOURCE_DIR}/include -I${COMPILER_RT_SOURCE_DIR}/lib -I${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common - -DGTEST_HAS_RTTI=0 + -fno-rtti -O2 -Werror=sign-compare -Wno-non-virtual-dtor) -append_if(COMPILER_RT_HAS_G_FLAG -g SANITIZER_TEST_CFLAGS_COMMON) -append_if(COMPILER_RT_HAS_Zi_FLAG -Zi SANITIZER_TEST_CFLAGS_COMMON) - -append_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti SANITIZER_TEST_CFLAGS_COMMON) -append_if(COMPILER_RT_HAS_GR_FLAG -GR- SANITIZER_TEST_CFLAGS_COMMON) +# -gline-tables-only must be enough for these tests, so use it if possible. +if(COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang") + list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -gline-tables-only) +else() + list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -g) +endif() if(MSVC) - # System headers and gtest use a lot of deprecated stuff. + # MSVC system headers and gtest use a lot of deprecated stuff. list(APPEND SANITIZER_TEST_CFLAGS_COMMON -Wno-deprecated-declarations) - # clang-cl doesn't support exceptions yet. + # clang doesn't support exceptions on Windows yet. list(APPEND SANITIZER_TEST_CFLAGS_COMMON - /fallback -D_HAS_EXCEPTIONS=0) - # We should teach clang-cl to understand more pragmas. + # We should teach clang to understand more pragmas. list(APPEND SANITIZER_TEST_CFLAGS_COMMON -Wno-unknown-pragmas -Wno-undefined-inline) diff --git a/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc b/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc index bbbc423..df740b6 100644 --- a/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc +++ b/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/allocators_sanity.cc b/compiler-rt/test/asan/TestCases/Windows/allocators_sanity.cc index 55cfdff..66a862d 100644 --- a/compiler-rt/test/asan/TestCases/Windows/allocators_sanity.cc +++ b/compiler-rt/test/asan/TestCases/Windows/allocators_sanity.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/beginthreadex.cc b/compiler-rt/test/asan/TestCases/Windows/beginthreadex.cc index 12e2b1f..f2b2b45 100644 --- a/compiler-rt/test/asan/TestCases/Windows/beginthreadex.cc +++ b/compiler-rt/test/asan/TestCases/Windows/beginthreadex.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/bitfield.cc b/compiler-rt/test/asan/TestCases/Windows/bitfield.cc index e1a3fc8..253a759 100644 --- a/compiler-rt/test/asan/TestCases/Windows/bitfield.cc +++ b/compiler-rt/test/asan/TestCases/Windows/bitfield.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cc index 63f3941..f49d671 100644 --- a/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/bitfield_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cc index 71399a7..459025b 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cc index fcf3138..c976b87 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cc index 5a1d936..db5e707 100644 --- a/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/calloc_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/crt_initializers.cc b/compiler-rt/test/asan/TestCases/Windows/crt_initializers.cc index 5544912..084f8a4 100644 --- a/compiler-rt/test/asan/TestCases/Windows/crt_initializers.cc +++ b/compiler-rt/test/asan/TestCases/Windows/crt_initializers.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t | FileCheck %s // This is a test for http://code.google.com/p/address-sanitizer/issues/detail?id=305 diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_aligned_mallocs.cc b/compiler-rt/test/asan/TestCases/Windows/dll_aligned_mallocs.cc index db2b9d1..8b2c4d6 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_aligned_mallocs.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_aligned_mallocs.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: %run %t %t.dll | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_allocators_sanity.cc b/compiler-rt/test/asan/TestCases/Windows/dll_allocators_sanity.cc index 2f3f78f..1d31f37 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_allocators_sanity.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_allocators_sanity.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: %run %t %t.dll | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_host.cc b/compiler-rt/test/asan/TestCases/Windows/dll_host.cc index 470d3fa..5eb710e 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_host.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_host.cc @@ -2,7 +2,7 @@ // // Just make sure we can compile this. // The actual compile&run sequence is to be done by the DLL tests. -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // // Get the list of ASan wrappers exported by the main module RTL: // RUN: dumpbin /EXPORTS %t | grep -o "__asan_wrap[^ ]*" | grep -v @ | sort | uniq > %t.exported_wrappers diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cc b/compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cc index 8a69e7d..9541135 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_intercept_strlen.cc b/compiler-rt/test/asan/TestCases/Windows/dll_intercept_strlen.cc index caac426..f41d4785 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_intercept_strlen.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_intercept_strlen.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cc index 8064b83..0653ea4 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cc index 5842999..b286380 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_noreturn.cc b/compiler-rt/test/asan/TestCases/Windows/dll_noreturn.cc index 4b5bf33..6ec9072 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_noreturn.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_noreturn.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_left_oob.cc index 509e0af..e52345e 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_left_oob.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s extern "C" __declspec(dllexport) diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cc index 09302c3..c61d4eb 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s struct C { diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_poison_unpoison.cc b/compiler-rt/test/asan/TestCases/Windows/dll_poison_unpoison.cc index 24f98dd..d486cb1 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_poison_unpoison.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_poison_unpoison.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cc b/compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cc index 22d9970..6cd74c2 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: env ASAN_OPTIONS=detect_stack_use_after_return=1 not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cc index a84eeb9..8f53623 100644 --- a/compiler-rt/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cc @@ -1,5 +1,5 @@ -// RUN: %clangxx_asan -O0 %p/dll_host.cc -Fe%t -// RUN: %clangxx_asan -LD -O0 %s -Fe%t.dll +// RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t +// RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll // RUN: not %run %t %t.dll 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/double_free.cc b/compiler-rt/test/asan/TestCases/Windows/double_free.cc index 6745c59..18a9fcb 100644 --- a/compiler-rt/test/asan/TestCases/Windows/double_free.cc +++ b/compiler-rt/test/asan/TestCases/Windows/double_free.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cc b/compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cc index 1cd7080..55a6d09 100644 --- a/compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cc +++ b/compiler-rt/test/asan/TestCases/Windows/double_operator_delete.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/global_const_string.cc b/compiler-rt/test/asan/TestCases/Windows/global_const_string.cc index 6d17b24..8c147c9 100644 --- a/compiler-rt/test/asan/TestCases/Windows/global_const_string.cc +++ b/compiler-rt/test/asan/TestCases/Windows/global_const_string.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cc b/compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cc index b54a2bb..3b66b8f 100644 --- a/compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/global_const_string_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/hello_world.cc b/compiler-rt/test/asan/TestCases/Windows/hello_world.cc index 2ef37d0..400ca1b 100644 --- a/compiler-rt/test/asan/TestCases/Windows/hello_world.cc +++ b/compiler-rt/test/asan/TestCases/Windows/hello_world.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/intercept_memcpy.cc b/compiler-rt/test/asan/TestCases/Windows/intercept_memcpy.cc index 73ce951..89eb175 100644 --- a/compiler-rt/test/asan/TestCases/Windows/intercept_memcpy.cc +++ b/compiler-rt/test/asan/TestCases/Windows/intercept_memcpy.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cc b/compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cc index 1bc235f..0a40d86 100644 --- a/compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cc +++ b/compiler-rt/test/asan/TestCases/Windows/intercept_strdup.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/intercept_strlen.cc b/compiler-rt/test/asan/TestCases/Windows/intercept_strlen.cc index 62a5be8..928a286 100644 --- a/compiler-rt/test/asan/TestCases/Windows/intercept_strlen.cc +++ b/compiler-rt/test/asan/TestCases/Windows/intercept_strlen.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cc index 2f6516e..ec133c3 100644 --- a/compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/malloc_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cc index ba1bf93..9975316 100644 --- a/compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/malloc_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cc index 3f873cc..f584789 100644 --- a/compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/malloc_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cc index 082cf4c4..81b709f 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s int main() { diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cc index 1465fa0..079c78e 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cc index f48d7a6..1817996 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cc index 1702b51..c5bdba5 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s struct C { diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cc b/compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cc index 7358cba..c3e7dac 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_delete_wrong_argument.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cc index 77454fa..c077f11 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_new_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cc index e6df9c9..7a66d17 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_new_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cc index 350598a..c435458 100644 --- a/compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/operator_new_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cc index 511e509..7d30e1d 100644 --- a/compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/realloc_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cc index 3b0ad19..f741390 100644 --- a/compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/realloc_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cc b/compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cc index 45c5598..c5b6953 100644 --- a/compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cc +++ b/compiler-rt/test/asan/TestCases/Windows/realloc_uaf.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/stack_array_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/stack_array_left_oob.cc index 65385e2..040d855 100644 --- a/compiler-rt/test/asan/TestCases/Windows/stack_array_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/stack_array_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/stack_array_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/stack_array_right_oob.cc index ac267bf..a370246 100644 --- a/compiler-rt/test/asan/TestCases/Windows/stack_array_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/stack_array_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/stack_array_sanity.cc b/compiler-rt/test/asan/TestCases/Windows/stack_array_sanity.cc index 7dc75f8a..1aef1a9 100644 --- a/compiler-rt/test/asan/TestCases/Windows/stack_array_sanity.cc +++ b/compiler-rt/test/asan/TestCases/Windows/stack_array_sanity.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cc b/compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cc index 1eb64429..7955f26 100644 --- a/compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cc +++ b/compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: env ASAN_OPTIONS=detect_stack_use_after_return=1 not %run %t 2>&1 | FileCheck %s char *x; diff --git a/compiler-rt/test/asan/TestCases/Windows/thread_simple.cc b/compiler-rt/test/asan/TestCases/Windows/thread_simple.cc index 6afb0bf..14bb82f 100644 --- a/compiler-rt/test/asan/TestCases/Windows/thread_simple.cc +++ b/compiler-rt/test/asan/TestCases/Windows/thread_simple.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_left_oob.cc b/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_left_oob.cc index 30e8ce0..17b9b1b 100644 --- a/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_left_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_left_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_right_oob.cc b/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_right_oob.cc index 365288d..601a1b8 100644 --- a/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_right_oob.cc +++ b/compiler-rt/test/asan/TestCases/Windows/thread_stack_array_right_oob.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/thread_stack_reuse.cc b/compiler-rt/test/asan/TestCases/Windows/thread_stack_reuse.cc index 49611d9..7da3a80 100644 --- a/compiler-rt/test/asan/TestCases/Windows/thread_stack_reuse.cc +++ b/compiler-rt/test/asan/TestCases/Windows/thread_stack_reuse.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/thread_stress.cc b/compiler-rt/test/asan/TestCases/Windows/thread_stress.cc index 3a0d9c5..74be8d8 100644 --- a/compiler-rt/test/asan/TestCases/Windows/thread_stress.cc +++ b/compiler-rt/test/asan/TestCases/Windows/thread_stress.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t #include diff --git a/compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cc b/compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cc index 6bd722b..9d2c025 100644 --- a/compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cc +++ b/compiler-rt/test/asan/TestCases/Windows/use_after_realloc.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s #include diff --git a/compiler-rt/test/asan/TestCases/Windows/windows_h.cc b/compiler-rt/test/asan/TestCases/Windows/windows_h.cc index c221185..40cf5a1 100644 --- a/compiler-rt/test/asan/TestCases/Windows/windows_h.cc +++ b/compiler-rt/test/asan/TestCases/Windows/windows_h.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: %run %t // Just make sure we can parse diff --git a/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cc b/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cc index 0f43a6a..112dd53 100644 --- a/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cc +++ b/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_heap.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s class Parent { diff --git a/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_stack.cc b/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_stack.cc index 02c9b9f..2859ecc 100644 --- a/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_stack.cc +++ b/compiler-rt/test/asan/TestCases/Windows/wrong_downcast_on_stack.cc @@ -1,4 +1,4 @@ -// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %clang_cl_asan -O0 %s -Fe%t // RUN: not %run %t 2>&1 | FileCheck %s class Parent { diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg index ef51266..ad9786f 100644 --- a/compiler-rt/test/asan/lit.cfg +++ b/compiler-rt/test/asan/lit.cfg @@ -1,6 +1,7 @@ # -*- Python -*- import os +import platform def get_required_attr(config, attr_name): attr_value = getattr(config, attr_name, None) @@ -32,19 +33,11 @@ else: # FIXME: Review the set of required flags and check if it can be reduced. target_cflags = [get_required_attr(config, "target_cflags")] + extra_linkflags target_cxxflags = config.cxx_mode_flags + target_cflags -clang_asan_static_cflags = ["-fsanitize=address"] + target_cflags - -clang_path = getattr(config, 'clang', None) -if clang_path.find("clang-cl") == -1: - clang_asan_static_cflags += ["-g", - "-mno-omit-leaf-frame-pointer", - "-fno-omit-frame-pointer", - "-fno-optimize-sibling-calls"] -else: - clang_asan_static_cflags += ["-Zi", - "-Wno-deprecated-declarations", - "-D_HAS_EXCEPTIONS=0"] - +clang_asan_static_cflags = ["-fsanitize=address", + "-mno-omit-leaf-frame-pointer", + "-fno-omit-frame-pointer", + "-fno-optimize-sibling-calls", + "-g"] + target_cflags clang_asan_static_cxxflags = config.cxx_mode_flags + clang_asan_static_cflags if config.asan_dynamic: @@ -76,6 +69,16 @@ if config.asan_dynamic: config.substitutions.append( ("%clang_asan_static ", build_invocation(clang_asan_static_cflags)) ) config.substitutions.append( ("%clangxx_asan_static ", build_invocation(clang_asan_static_cxxflags)) ) +# Windows-specific tests might also use the clang-cl.exe driver. +if platform.system() == 'Windows': + clang_cl_asan_cxxflags = ["-fsanitize=address", + "-Wno-deprecated-declarations", + "-D_HAS_EXCEPTIONS=0", + "-Zi"] + target_cflags + clang_invocation = build_invocation(clang_cl_asan_cxxflags) + clang_cl_invocation = clang_invocation.replace("clang.exe","clang-cl.exe") + config.substitutions.append( ("%clang_cl_asan ", clang_cl_invocation) ) + # FIXME: De-hardcode this path. asan_source_dir = os.path.join( get_required_attr(config, "compiler_rt_src_root"), "lib", "asan") -- 2.7.4