summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc')
-rw-r--r--compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc b/compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc
new file mode 100644
index 00000000000..979e80cccb7
--- /dev/null
+++ b/compiler-rt/test/asan/TestCases/Windows/coverage-dll-stdio.cc
@@ -0,0 +1,17 @@
+// Test that coverage and MSVC CRT stdio work from a DLL. This ensures that the
+// __local_stdio_printf_options function isn't instrumented for coverage.
+
+// RUN: rm -rf %t && mkdir %t && cd %t
+// RUN: %clang_cl_asan -fsanitize-coverage=func -O0 %p/dll_host.cc -Fet.exe
+// RUN: %clang_cl_asan -fsanitize-coverage=func -LD -O0 %s -Fet.dll
+// RUN: pwd
+// RUN: %run ./t.exe t.dll 2>&1 | FileCheck %s
+
+#include <stdio.h>
+
+extern "C" __declspec(dllexport)
+int test_function() {
+ printf("hello world\n");
+ // CHECK: hello world
+ return 0;
+}
OpenPOWER on IntegriCloud