[analyzer] RetainCountChecker: for now, do not trust the summaries of inlined code
authorGeorge Karpenkov <ekarpenkov@apple.com>
Wed, 31 Oct 2018 17:38:29 +0000 (17:38 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Wed, 31 Oct 2018 17:38:29 +0000 (17:38 +0000)
commit6fd5c86d9805bfbe1301cf255a0ce45565c5e28e
tree35eeab027d0e7620bd1edf4b9a918d358672609e
parent57ef3a02e21a8f94d7a9c6d2fa8ea4996d52ea03
[analyzer] RetainCountChecker: for now, do not trust the summaries of inlined code

Trusting summaries of inlined code would require a more thorough work,
as the current approach was causing too many false positives, as the new
example in test.  The culprit lies in the fact that we currently escape
all variables written into a field (but not passed off to unknown
functions!), which can result in inconsistent behavior.

rdar://45655344

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

llvm-svn: 345746
clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
clang/test/Analysis/osobject-retain-release.cpp