[asan][test][win] Port more tests to not use clang-cl on MinGW (2)
authorAlvin Wong <alvin@alvinhc.com>
Sun, 2 Apr 2023 11:45:57 +0000 (19:45 +0800)
committerAlvin Wong <alvin@alvinhc.com>
Tue, 16 May 2023 11:53:49 +0000 (19:53 +0800)
Continuation of D147432 and D147444.

Differential Revision: https://reviews.llvm.org/D150267

42 files changed:
compiler-rt/test/asan/TestCases/Windows/delay_dbghelp.cpp
compiler-rt/test/asan/TestCases/Windows/dll_aligned_mallocs.cpp
compiler-rt/test/asan/TestCases/Windows/dll_allocators_sanity.cpp
compiler-rt/test/asan/TestCases/Windows/dll_intercept_memchr.cpp
compiler-rt/test/asan/TestCases/Windows/dll_intercept_memcpy_indirect.cpp
compiler-rt/test/asan/TestCases/Windows/dll_intercept_strlen.cpp
compiler-rt/test/asan/TestCases/Windows/dll_malloc_left_oob.cpp
compiler-rt/test/asan/TestCases/Windows/dll_malloc_uaf.cpp
compiler-rt/test/asan/TestCases/Windows/dll_noreturn.cpp
compiler-rt/test/asan/TestCases/Windows/dll_null_deref.cpp
compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_left_oob.cpp
compiler-rt/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cpp
compiler-rt/test/asan/TestCases/Windows/dll_poison_unpoison.cpp
compiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
compiler-rt/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cpp
compiler-rt/test/asan/TestCases/Windows/dll_unload.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_dll_double_free.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_dll_unload_realloc_uaf.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_doublefree.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_flags_fallback.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_huge.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_rtl_transfer.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_transfer.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_uaf.cpp
compiler-rt/test/asan/TestCases/Windows/heapalloc_zero_size.cpp
compiler-rt/test/asan/TestCases/Windows/heaprealloc.cpp
compiler-rt/test/asan/TestCases/Windows/heaprealloc_alloc_zero.cpp
compiler-rt/test/asan/TestCases/Windows/heaprealloc_zero_size.cpp
compiler-rt/test/asan/TestCases/Windows/recalloc_sanity.cpp
compiler-rt/test/asan/TestCases/Windows/report_globals_reload_dll.cpp
compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
compiler-rt/test/asan/TestCases/Windows/rtlallocateheap.cpp
compiler-rt/test/asan/TestCases/Windows/rtlallocateheap_dll_unload_double_free.cpp
compiler-rt/test/asan/TestCases/Windows/rtlallocateheap_dll_unload_realloc.cpp
compiler-rt/test/asan/TestCases/Windows/rtlallocateheap_flags_fallback.cpp
compiler-rt/test/asan/TestCases/Windows/rtlallocateheap_zero.cpp
compiler-rt/test/asan/TestCases/Windows/sanitizer_purge.cpp
compiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
compiler-rt/test/asan/TestCases/Windows/symbols_path.cpp
compiler-rt/test/asan/TestCases/Windows/user-exception.cpp
compiler-rt/test/asan/lit.cfg.py

index 0cad545..9277fe0 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 // Build an executable with ASan, then extract the DLLs that it depends on.
-// RUN: %clang_cl_asan %s -Fe%t.exe
+// RUN: %clang_cl_asan %s %Fe%t.exe
 // RUN: llvm-readobj --coff-imports %t.exe | grep Name: | sed -e 's/ *Name: *//' > %t
 //
 // Make sure the binary doesn't depend on dbghelp directly.
index c180950..f545fe4 100644 (file)
@@ -1,12 +1,15 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: %run %t %t.dll | FileCheck %s
 
 #include <malloc.h>
 #include <stdio.h>
 
+#ifdef __MINGW32__
+// FIXME: remove after mingw-w64 adds this declaration.
+extern "C" size_t __cdecl _aligned_msize(void *_Memory, size_t _Alignment, size_t _Offset);
+#endif
+
 #define CHECK_ALIGNED(ptr,alignment) \
   do { \
     if (((uintptr_t)(ptr) % (alignment)) != 0) \
index 8e4e71b..1708558 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: %run %t %t.dll | FileCheck %s
 
 #include <malloc.h>
index 3db8943..c41d937 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 // On windows 64-bit, the memchr function is written in assembly and is not
index 849c660..f79e4d6 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <stdio.h>
index 1bad2f8..94cb6aa 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <stdio.h>
index f2216ce..6d550eb 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <malloc.h>
index bbf6f38..bc701e9 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <malloc.h>
index d502575..ba67f23 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <process.h>
index a3242c9..b659269 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 __attribute__((noinline))
index 34c29b0..20ce083 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 extern "C" __declspec(dllexport)
index bdf3fe3..ca6b256 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 struct C {
index f20c5b1..cc01bd0 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <sanitizer/asan_interface.h>
@@ -26,12 +24,12 @@ int test_function() {
   should_crash(&buffer[96]);
 // CHECK: AddressSanitizer: use-after-poison on address [[ADDR:0x[0-9a-f]+]]
 // CHECK-NEXT: WRITE of size 1 at [[ADDR]] thread T0
-// CHECK-NEXT: should_crash{{.*}}\dll_poison_unpoison.cpp
-// CHECK-NEXT: test_function{{.*}}\dll_poison_unpoison.cpp:[[@LINE-4]]
+// CHECK-NEXT: should_crash{{.*[\\/]}}dll_poison_unpoison.cpp
+// CHECK-NEXT: test_function{{.*[\\/]}}dll_poison_unpoison.cpp:[[@LINE-4]]
 // CHECK-NEXT: main
 //
 // CHECK: [[ADDR]] is located in stack of thread T0 at offset [[OFFSET:.*]] in frame
-// CHECK-NEXT: test_function{{.*}}\dll_poison_unpoison.cpp
+// CHECK-NEXT: test_function{{.*[\\/]}}dll_poison_unpoison.cpp
 // CHECK: 'buffer'{{.*}} <== Memory access at offset [[OFFSET]] is inside this variable
   return 0;
 }
index 6aa9721..be23704 100644 (file)
@@ -1,9 +1,7 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: %env_asan_opts=detect_stack_use_after_return=1 not %run %t %t.dll 2>&1 | FileCheck %s
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll -fsanitize-address-use-after-return=always
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll -fsanitize-address-use-after-return=always
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <malloc.h>
index da2a911..78f651b 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %p/dll_host.cpp -Fe%t
-// RUN: %clang_cl_asan -LD -Od %s -Fe%t.dll
+// RUN: %clang_cl_asan %Od %p/dll_host.cpp %Fe%t
+// RUN: %clang_cl_asan %LD %Od %s %Fe%t.dll
 // RUN: not %run %t %t.dll 2>&1 | FileCheck %s
 
 #include <windows.h>
index 23a6544..46e4190 100644 (file)
@@ -1,10 +1,8 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include <stdio.h>
 #include <windows.h>
 
-// RUN: %clang_cl_asan -LD /Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl /Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %te.exe %t.dll 2>&1 | FileCheck %s
 // REQUIRES: asan-dynamic-runtime
 // REQUIRES: asan-32-bits
index 3deaa64..d707df8 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 // UNSUPPORTED: asan-64-bits
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 
 #include <windows.h>
index 8391719..14d4601 100644 (file)
@@ -1,10 +1,8 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include <stdio.h>
 #include <windows.h>
 
-// RUN: %clang_cl_asan -LD /Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl /Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %te.exe %t.dll 2>&1 | FileCheck %s
 // REQUIRES: asan-dynamic-runtime
 // REQUIRES: asan-32-bits
index a34b702..dc094a0 100644 (file)
@@ -1,10 +1,8 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include <stdio.h>
 #include <windows.h>
 
-// RUN: %clang_cl_asan -LD /Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl /Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %te.exe %t.dll 2>&1 | FileCheck %s
 // REQUIRES: asan-dynamic-runtime
 // REQUIRES: asan-32-bits
index 7f7b51a..6366fd3 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <cassert>
index d126c75..64b6ecf 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %run %t 2>&1 | FileCheck %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
index 8514be3..564bebe 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=allocator_may_return_null=true %run %t
 // RUN: %env_asan_opts=allocator_may_return_null=true:windows_hook_rtl_allocators=true %run %t
 // UNSUPPORTED: asan-64-bits
index c65ece7..dc32b18 100644 (file)
@@ -1,5 +1,3 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include "sanitizer\allocator_interface.h"
 #include <cassert>
 #include <stdio.h>
@@ -97,4 +95,4 @@ int main() {
 
 // CHECK-NOT: Assertion failed:
 // CHECK-NOT: AddressSanitizer
-// CHECK: Success
\ No newline at end of file
+// CHECK: Success
index fa9f937..0731a02 100644 (file)
@@ -1,5 +1,3 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include "sanitizer\allocator_interface.h"
 #include <cassert>
 #include <stdio.h>
@@ -27,4 +25,4 @@ int main() {
 
 // CHECK-NOT: assert
 // CHECK-NOT: AddressSanitizer
-// CHECK: Success
\ No newline at end of file
+// CHECK: Success
index 34f3015..7aff4df 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <windows.h>
index f1345f6..767201a 100644 (file)
@@ -1,9 +1,7 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan /Od -o %t %s
+// RUN: %clang_cl_asan %Od -o %t %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=false %run %t 2>&1 | FileCheck %s
-// RUN: %clang_cl /Od -o %t %s
+// RUN: %clang_cl %Od -o %t %s
 // RUN: %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <cassert>
index 0073ce0..5d715e3 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <stdio.h>
index 1595729..8b0bc71 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan /Od /MT -o %t %s
+// RUN: %clang_cl_asan %Od %MT -o %t %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <cassert>
@@ -57,4 +55,4 @@ int main() {
 // CHECK: allocated!
 // CHECK-NOT: heap-buffer-overflow
 // CHECK-NOT: AddressSanitizer
-// CHECK-NOT: HeapAlloc size failure!
\ No newline at end of file
+// CHECK-NOT: HeapAlloc size failure!
index cc1f1f0..eb0b3c0 100644 (file)
@@ -1,9 +1,7 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan /Od -o %t %s
+// RUN: %clang_cl_asan %Od -o %t %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=false %run %t 2>&1 | FileCheck %s
-// RUN: %clang_cl /Od -o %t %s
+// RUN: %clang_cl %Od -o %t %s
 // RUN: %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 #include <cassert>
@@ -22,4 +20,4 @@ int main() {
 
 // CHECK-NOT: double-free
 // CHECK-NOT: AddressSanitizer
-// CHECK: passed!
\ No newline at end of file
+// CHECK: passed!
index 9ed3ed6..664a464 100644 (file)
@@ -1,5 +1,3 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 // Workaround for "LINK : fatal error LNK1318: Unexpected PDB error"
 // RUN: rm -f %t.pdb
 
@@ -39,4 +37,4 @@ int main() {
 }
 
 // CHECK-NOT: Assertion
-// CHECK: passed
\ No newline at end of file
+// CHECK: passed
index 2965122..ac1f1a3 100644 (file)
@@ -1,8 +1,6 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 // Make sure we can handle reloading the same DLL multiple times.
-// RUN: %clang_cl_asan -LD -Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl_asan -Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl_asan %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=report_globals=1 %run %te.exe %t.dll 2>&1 | FileCheck %s
 
 #include <windows.h>
index 2b6aedb..6558607 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -LD -Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl_asan -Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl_asan %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=report_globals=2 %run %te.exe %t.dll 2>&1 | FileCheck %s
 
 #include <windows.h>
index 8df1b51..20d14bd 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t /MD
+// RUN: %clang_cl_asan %Od %s %Fe%t %MD
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 // REQUIRES: asan-rtl-heap-interception
index 7ab075c..b71a4a2 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -LD /Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl /Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %te.exe %t.dll 2>&1 | FileCheck %s
 // REQUIRES: asan-dynamic-runtime
 // REQUIRES: asan-32-bits
index 3bf1784..1062108 100644 (file)
@@ -1,7 +1,5 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -LD /Od -DDLL %s -Fe%t.dll
-// RUN: %clang_cl /Od -DEXE %s -Fe%te.exe
+// RUN: %clang_cl_asan %LD %Od -DDLL %s %Fe%t.dll
+// RUN: %clang_cl %Od -DEXE %s %Fe%te.exe
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %te.exe %t.dll 2>&1 | FileCheck %s
 // REQUIRES: asan-dynamic-runtime
 // REQUIRES: asan-32-bits
index 177de65..95fbff2 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t /MD
+// RUN: %clang_cl_asan %Od %s %Fe%t %MD
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 // REQUIRES: asan-rtl-heap-interception
index b110143..99ff341 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t /MD
+// RUN: %clang_cl_asan %Od %s %Fe%t %MD
 // RUN: %env_asan_opts=windows_hook_rtl_allocators=true not %run %t 2>&1 | FileCheck %s
 // UNSUPPORTED: asan-64-bits
 // REQUIRES: asan-rtl-heap-interception
index 474f029..9097756 100644 (file)
@@ -1,11 +1,9 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 #include <Windows.h>
 #include <stdio.h>
 #include <sanitizer/allocator_interface.h>
 #include <psapi.h>
 
-// RUN: %clang_cl_asan -Od %s -Fe%t 
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %t
 // REQUIRES: asan-64-bits
 
@@ -30,4 +28,4 @@ int main(){
     }
 
     return 0;
-}
\ No newline at end of file
+}
index ae16bbd..9385e36 100644 (file)
@@ -1,8 +1,7 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: %env_asan_opts=detect_stack_use_after_return=1 not %run %t 2>&1 | FileCheck %s
-// RUN: %clang_cl_asan -Od %s -Fe%t -fsanitize-address-use-after-return=always
+
+// RUN: %clang_cl_asan %Od %s %Fe%t -fsanitize-address-use-after-return=always
 // RUN: not %run %t 2>&1 | FileCheck %s
 
 char *x;
index 3681ff1..d896da4 100644 (file)
@@ -1,8 +1,6 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
 // Make sure symbolization works even if the path to the .exe file changes.
 // RUN: mkdir %t || true
-// RUN: %clang_cl_asan -Od %s -Fe%t/symbols_path.exe
+// RUN: %clang_cl_asan %Od %s %Fe%t/symbols_path.exe
 // RUN: not %run %t/symbols_path.exe 2>&1 | FileCheck %s
 // RUN: mkdir %t2 || true
 // RUN: mv %t/* %t2
index 5265e05..a04661b 100644 (file)
@@ -1,6 +1,4 @@
-// UNSUPPORTED: target={{.*-windows-gnu}}
-
-// RUN: %clang_cl_asan -Od %s -Fe%t
+// RUN: %clang_cl_asan %Od %s %Fe%t
 // RUN: env ASAN_OPTIONS=handle_segv=0 %run %t 2>&1 | FileCheck %s --check-prefix=USER
 // RUN: env ASAN_OPTIONS=handle_segv=1 not %run %t 2>&1 | FileCheck %s --check-prefix=ASAN
 // Test the default.
index 9a8e513..01eff0f 100644 (file)
@@ -158,6 +158,9 @@ if platform.system() == 'Windows':
     config.substitutions.append( ("%clang_cl_asan ", clang_cl_asan_invocation) )
     config.substitutions.append( ("%Od", "-Od") )
     config.substitutions.append( ("%Fe", "-Fe") )
+    config.substitutions.append( ("%LD", "-LD") )
+    config.substitutions.append( ("%MD", "-MD") )
+    config.substitutions.append( ("%MT", "-MT") )
 
     base_lib = os.path.join(config.compiler_rt_libdir, "clang_rt.asan%%s%s.lib" % config.target_suffix)
     config.substitutions.append( ("%asan_lib", base_lib % "") )
@@ -170,6 +173,9 @@ if platform.system() == 'Windows':
     config.substitutions.append( ("%clang_cl_asan ", build_invocation(clang_asan_cxxflags)) )
     config.substitutions.append( ("%Od", "-O0") )
     config.substitutions.append( ("%Fe", "-o") )
+    config.substitutions.append( ("%LD", "-shared") )
+    config.substitutions.append( ("%MD", "") )
+    config.substitutions.append( ("%MT", "") )
 
 # FIXME: De-hardcode this path.
 asan_source_dir = os.path.join(