[compiler-rt] r207205 - tsan: add new test for commit 207204 (forget to add new file)

Dmitry Vyukov dvyukov at google.com
Fri Apr 25 00:49:36 PDT 2014


Author: dvyukov
Date: Fri Apr 25 02:49:36 2014
New Revision: 207205

URL: http://llvm.org/viewvc/llvm-project?rev=207205&view=rev
Log:
tsan: add new test for commit 207204 (forget to add new file)


Added:
    compiler-rt/trunk/test/tsan/mutex_double_lock.cc

Added: compiler-rt/trunk/test/tsan/mutex_double_lock.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/tsan/mutex_double_lock.cc?rev=207205&view=auto
==============================================================================
--- compiler-rt/trunk/test/tsan/mutex_double_lock.cc (added)
+++ compiler-rt/trunk/test/tsan/mutex_double_lock.cc Fri Apr 25 02:49:36 2014
@@ -0,0 +1,29 @@
+// RUN: %clangxx_tsan -O1 %s -o %t && not %t 2>&1 | FileCheck %s
+#include <pthread.h>
+#include <unistd.h>
+
+extern "C" void AnnotateRWLockAcquired(const char *f, int l, void *m, long rw);
+
+void *ThreadFunc(void *m) {
+  AnnotateRWLockAcquired(__FILE__, __LINE__, m, 1);
+  return 0;
+}
+
+int main() {
+  int m = 0;
+  AnnotateRWLockAcquired(__FILE__, __LINE__, &m, 1);
+  pthread_t th;
+  pthread_create(&th, 0, ThreadFunc, &m);
+  pthread_join(th, 0);
+  return 0;
+}
+
+// CHECK: WARNING: ThreadSanitizer: double lock of a mutex
+// CHECK:     #0 AnnotateRWLockAcquired
+// CHECK:     #1 ThreadFunc
+// CHECK: Location is stack of main thread.
+// CHECK:   Mutex M1 ({{.*}}) created at:
+// CHECK:     #0 AnnotateRWLockAcquired
+// CHECK:     #1 main
+// CHECK: SUMMARY: ThreadSanitizer: double lock of a mutex {{.*}}mutex_double_lock.cc{{.*}}ThreadFunc
+





More information about the llvm-commits mailing list