]> granicus.if.org Git - clang/commit
Stop tracking retain count of OSObject after escape to void * / other primitive types
authorGeorge Karpenkov <ekarpenkov@apple.com>
Sat, 8 Dec 2018 01:18:40 +0000 (01:18 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Sat, 8 Dec 2018 01:18:40 +0000 (01:18 +0000)
commitf2b2919b86268ab9eb8fb1d3aca026950aa79b3f
tree1a9fff84ec5cddda2df79d64f533dd700c65cfa3
parent6eb1b99fab69df06bb933996b663227ca6b50ea6
Stop tracking retain count of OSObject after escape to void * / other primitive types

Escaping to void * / uint64_t / others non-OSObject * should stop tracking,
as such functions can have heterogeneous semantics depending on context,
and can not always be annotated.

rdar://46439133

Differential Revision: https://reviews.llvm.org/D55465

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@348675 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
test/Analysis/osobject-retain-release.cpp