diff options
author | Julian Lettner <jlettner@apple.com> | 2019-03-19 16:12:59 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-03-19 16:12:59 +0000 |
commit | c27df85299546b99e1d5892b0a53cef85c48958f (patch) | |
tree | 2cf82cdbffe100a0ea7773b8f4a05f33334b090e /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
parent | 4a6b9f23166af72549509348be7acee248a46311 (diff) | |
download | bcm5719-llvm-c27df85299546b99e1d5892b0a53cef85c48958f.tar.gz bcm5719-llvm-c27df85299546b99e1d5892b0a53cef85c48958f.zip |
[TSan][libdispatch] Avoid infinite recursion in dispatch_apply[_f] interceptors
In libdispatch, dispatch_apply is implemented in terms of
dispatch_apply_f. Unfortunately, this means that we can't implement the
interceptor for dispatch_apply_f by forwarding to the dispatch_apply
interceptor.
In the interceptor dispatch_apply_f, we can't use WRAP(dispatch_apply).
WRAP(dispatch_apply) -> REAL(dispatch_apply_f). Requires duplication of
some setup code.
Reviewed By: kubamracek
Differential Revision: https://reviews.llvm.org/D59526
llvm-svn: 356467
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
0 files changed, 0 insertions, 0 deletions