summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/tsan.c
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2012-03-01 22:27:08 +0000
committerKostya Serebryany <kcc@google.com>2012-03-01 22:27:08 +0000
commit28a7a1198b60ba73930112191a308eeddcd8102f (patch)
tree6037d41d3e9e832f11fe555c8202c80a22f14bc9 /clang/test/Driver/tsan.c
parentc429b80da154c7ee7a9fd81d7707343d77b05565 (diff)
downloadbcm5719-llvm-28a7a1198b60ba73930112191a308eeddcd8102f.tar.gz
bcm5719-llvm-28a7a1198b60ba73930112191a308eeddcd8102f.zip
Add a flag -fthread-sanitizer.
This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit. llvm-svn: 151846
Diffstat (limited to 'clang/test/Driver/tsan.c')
-rw-r--r--clang/test/Driver/tsan.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Driver/tsan.c b/clang/test/Driver/tsan.c
new file mode 100644
index 00000000000..1dadb8ea265
--- /dev/null
+++ b/clang/test/Driver/tsan.c
@@ -0,0 +1,8 @@
+// RUN: %clang -target i386-unknown-unknown -fthread-sanitizer %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %clang -O1 -target i386-unknown-unknown -fthread-sanitizer %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %clang -O2 -target i386-unknown-unknown -fthread-sanitizer %s -S -emit-llvm -o - | FileCheck %s
+// RUN: %clang -O3 -target i386-unknown-unknown -fthread-sanitizer %s -S -emit-llvm -o - | FileCheck %s
+// Verify that -fthread-sanitizer invokes tsan instrumentation.
+
+int foo(int *a) { return *a; }
+// CHECK: __tsan_init
OpenPOWER on IntegriCloud