summaryrefslogtreecommitdiff
path: root/test/tsan/Darwin
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2015-11-13 20:47:29 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2015-11-13 20:47:29 +0000
commitb3d951765ae9be108e3b8f6e8223a5fe8eeb1939 (patch)
tree1affd30a7da5948e470354b03de207cf2ef79213 /test/tsan/Darwin
parent693df74a1a33541d4e2a97b5c4ee38c4289ca11e (diff)
[tsan] Don't demangle names not starting with "_Z"
I noticed that when a symbol is named just "x", it gets demangled to "long long". On POSIX, AFAIK, mangled names always start with "_Z", so lets just require that. Differential Revision: http://reviews.llvm.org/D14637 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253080 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tsan/Darwin')
-rw-r--r--test/tsan/Darwin/symbolizer-dladdr.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/tsan/Darwin/symbolizer-dladdr.cc b/test/tsan/Darwin/symbolizer-dladdr.cc
index d5356378c..a7782c01a 100644
--- a/test/tsan/Darwin/symbolizer-dladdr.cc
+++ b/test/tsan/Darwin/symbolizer-dladdr.cc
@@ -3,10 +3,12 @@
#include "../test.h"
int GlobalData[10];
+long long x;
void *Thread(void *a) {
barrier_wait(&barrier);
GlobalData[2] = 42;
+ x = 7;
return 0;
}
@@ -18,6 +20,7 @@ int main() {
pthread_t t;
pthread_create(&t, 0, Thread, 0);
GlobalData[2] = 43;
+ x = 8;
barrier_wait(&barrier);
pthread_join(t, 0);
}
@@ -27,3 +30,5 @@ int main() {
// CHECK: addr=[[ADDR:0x[0-9,a-f]+]]
// CHECK: WARNING: ThreadSanitizer: data race
// CHECK: Location is global 'GlobalData' at [[ADDR]] ({{.*}}+0x{{[0-9,a-f]+}})
+// CHECK: WARNING: ThreadSanitizer: data race
+// CHECK: Location is global 'x' at {{.*}} ({{.*}}+0x{{[0-9,a-f]+}})