summaryrefslogtreecommitdiffstats
path: root/compiler-rt/test/tsan/annotate_happens_before.cc
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-08-02 07:18:07 +0000
committerFangrui Song <maskray@google.com>2019-08-02 07:18:07 +0000
commitbcaeed49cb063de9fe504aa29e1cadff8a7be710 (patch)
tree01b6111d0c244bb2c86f705a06f575442cf58aeb /compiler-rt/test/tsan/annotate_happens_before.cc
parent8113c93fb1b7d1cc595882bca17381c1bd3b2069 (diff)
downloadbcm5719-llvm-bcaeed49cb063de9fe504aa29e1cadff8a7be710.tar.gz
bcm5719-llvm-bcaeed49cb063de9fe504aa29e1cadff8a7be710.zip
compiler-rt: Rename .cc file in test/tsan to .cpp
Like r367463, but for test/tsan. llvm-svn: 367656
Diffstat (limited to 'compiler-rt/test/tsan/annotate_happens_before.cc')
-rw-r--r--compiler-rt/test/tsan/annotate_happens_before.cc57
1 files changed, 0 insertions, 57 deletions
diff --git a/compiler-rt/test/tsan/annotate_happens_before.cc b/compiler-rt/test/tsan/annotate_happens_before.cc
deleted file mode 100644
index 011661699a7..00000000000
--- a/compiler-rt/test/tsan/annotate_happens_before.cc
+++ /dev/null
@@ -1,57 +0,0 @@
-// RUN: %clangxx_tsan -O1 %s -o %t && %run %t 2>&1 | FileCheck %s
-#include "test.h"
-
-/*
-Annotations usage example.
-
-Tsan does not see synchronization in barrier_wait.
-ANNOTATE_HAPPENS_BEFORE/AFTER communicate the synchronization to tsan
-and prevent the race report.
-
-If the compiler does not support __has_feature macro, then you can build with
-CFLAGS="-fsanitize=thread -DTHREAD_SANITIZER" and then use
-#ifdef THREAD_SANITIZER to enabled annotations.
-*/
-
-#if defined(__has_feature) && __has_feature(thread_sanitizer)
-# define ANNOTATE_HAPPENS_BEFORE(addr) \
- AnnotateHappensBefore(__FILE__, __LINE__, (void*)(addr))
-# define ANNOTATE_HAPPENS_AFTER(addr) \
- AnnotateHappensAfter(__FILE__, __LINE__, (void*)(addr))
-extern "C" void AnnotateHappensBefore(const char *f, int l, void *addr);
-extern "C" void AnnotateHappensAfter(const char *f, int l, void *addr);
-#else
-# define ANNOTATE_HAPPENS_BEFORE(addr)
-# define ANNOTATE_HAPPENS_AFTER(addr)
-#endif
-
-int Global;
-
-void *Thread1(void *x) {
- barrier_wait(&barrier);
- ANNOTATE_HAPPENS_AFTER(&barrier);
- Global++;
- return NULL;
-}
-
-void *Thread2(void *x) {
- Global--;
- ANNOTATE_HAPPENS_BEFORE(&barrier);
- barrier_wait(&barrier);
- return NULL;
-}
-
-int main() {
- barrier_init(&barrier, 2);
- pthread_t t[2];
- pthread_create(&t[0], NULL, Thread1, NULL);
- pthread_create(&t[1], NULL, Thread2, NULL);
- pthread_join(t[0], NULL);
- pthread_join(t[1], NULL);
- fprintf(stderr, "DONE\n");
- return 0;
-}
-
-// CHECK-NOT: WARNING: ThreadSanitizer: data race
-// CHECK: DONE
-
OpenPOWER on IntegriCloud