diff options
author | Kuba Brecka <kuba.brecka@gmail.com> | 2015-11-13 20:47:29 +0000 |
---|---|---|
committer | Kuba Brecka <kuba.brecka@gmail.com> | 2015-11-13 20:47:29 +0000 |
commit | b3d951765ae9be108e3b8f6e8223a5fe8eeb1939 (patch) | |
tree | 1affd30a7da5948e470354b03de207cf2ef79213 /test/tsan/Darwin | |
parent | 693df74a1a33541d4e2a97b5c4ee38c4289ca11e (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.cc | 5 |
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]+}}) |