From dee68ba6e315f1b92ac84cd3e8fed3fe6b90ace3 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 30 May 2014 14:27:31 +0000 Subject: [PATCH] tsan: add a test from data-race-test suite: https://code.google.com/p/data-race-test/source/browse/trunk/unittest/racecheck_unittest.cc llvm-svn: 209900 --- compiler-rt/test/tsan/race_on_puts.cc | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 compiler-rt/test/tsan/race_on_puts.cc diff --git a/compiler-rt/test/tsan/race_on_puts.cc b/compiler-rt/test/tsan/race_on_puts.cc new file mode 100644 index 000000000000..1f2b4db836ed --- /dev/null +++ b/compiler-rt/test/tsan/race_on_puts.cc @@ -0,0 +1,29 @@ +// RUN: %clangxx_tsan -O1 %s -o %t && %deflake %run %t | FileCheck %s +#include +#include +#include + +char s[] = "abracadabra"; + +void *Thread0(void *p) { + puts(s); + return 0; +} + +void *Thread1(void *p) { + s[3] = 'z'; + return 0; +} + +int main() { + pthread_t th[2]; + pthread_create(&th[0], 0, Thread0, 0); + pthread_create(&th[1], 0, Thread1, 0); + pthread_join(th[0], 0); + pthread_join(th[1], 0); + fprintf(stderr, "DONE"); +} + +// CHECK: WARNING: ThreadSanitizer: data race +// CHECK: DONE +