summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp')
-rw-r--r--compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp b/compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp
new file mode 100644
index 00000000000..5fa5945df4d
--- /dev/null
+++ b/compiler-rt/test/asan/TestCases/Windows/fuse-lld.cpp
@@ -0,0 +1,19 @@
+// If we have LLD, see that things more or less work.
+//
+// REQUIRES: lld-available
+//
+// RUN: %clangxx_asan -O2 %s -o %t.exe -g -gcodeview -fuse-ld=lld -Wl,-debug
+// RUN: not %run %t.exe 2>&1 | FileCheck %s
+
+#include <stdlib.h>
+
+int main() {
+ char *x = (char*)malloc(10 * sizeof(char));
+ free(x);
+ return x[5];
+ // CHECK: heap-use-after-free
+ // CHECK: free
+ // CHECK: main{{.*}}fuse-lld.cpp:[[@LINE-4]]:3
+ // CHECK: malloc
+ // CHECK: main{{.*}}fuse-lld.cpp:[[@LINE-7]]:20
+}
OpenPOWER on IntegriCloud