summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/IPO/LoopExtractor.cpp
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2016-06-26 08:14:01 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2016-06-26 08:14:01 +0000
commit30ad0c941a87a15d35e6cfe81b090db86de2142b (patch)
tree85b5b3eb87f9ce16e39ddabac6be0208784b9ee3 /llvm/lib/Transforms/IPO/LoopExtractor.cpp
parent9d08642c64c90c132fbb4870027e58d7596c4255 (diff)
downloadbcm5719-llvm-30ad0c941a87a15d35e6cfe81b090db86de2142b.tar.gz
bcm5719-llvm-30ad0c941a87a15d35e6cfe81b090db86de2142b.zip
[tsan] Intercept libcxx __release_shared to avoid false positive with weak_ptrs and destructors in C++
There is a "well-known" TSan false positive when using C++ weak_ptr/shared_ptr and code in destructors, e.g. described at <https://llvm.org/bugs/show_bug.cgi?id=22324>. The "standard" solution is to build and use a TSan-instrumented version of libcxx, which is not trivial for end-users. This patch tries a different approach (on OS X): It adds an interceptor for the specific function in libc++.dylib, which implements the atomic operation that needs to be visible to TSan. Differential Revision: http://reviews.llvm.org/D21609 llvm-svn: 273806
Diffstat (limited to 'llvm/lib/Transforms/IPO/LoopExtractor.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud