summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/RetainSummaryManager.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2019-02-05 22:26:44 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2019-02-05 22:26:44 +0000
commit6794aa702a5e80a896a034ccf56d8fb8656d935d (patch)
tree222a54011417a7accc91fc95c5f10837b178dde5 /clang/lib/Analysis/RetainSummaryManager.cpp
parent76046abbfa474300be9cac06442a6927c3cdd611 (diff)
downloadbcm5719-llvm-6794aa702a5e80a896a034ccf56d8fb8656d935d.tar.gz
bcm5719-llvm-6794aa702a5e80a896a034ccf56d8fb8656d935d.zip
[analyzer] [RetainCountChecker] Bugfix: in non-OSObject-mode, do not track CXX method calls
Differential Revision: https://reviews.llvm.org/D57782 llvm-svn: 353227
Diffstat (limited to 'clang/lib/Analysis/RetainSummaryManager.cpp')
-rw-r--r--clang/lib/Analysis/RetainSummaryManager.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Analysis/RetainSummaryManager.cpp b/clang/lib/Analysis/RetainSummaryManager.cpp
index abaaffa78e3..2eee01ca6a6 100644
--- a/clang/lib/Analysis/RetainSummaryManager.cpp
+++ b/clang/lib/Analysis/RetainSummaryManager.cpp
@@ -499,19 +499,19 @@ RetainSummaryManager::generateSummary(const FunctionDecl *FD,
if (const RetainSummary *S = getSummaryForOSObject(FD, FName, RetTy))
return S;
- if (TrackObjCAndCFObjects)
- if (const RetainSummary *S =
- getSummaryForObjCOrCFObject(FD, FName, RetTy, FT, AllowAnnotations))
- return S;
-
if (const auto *MD = dyn_cast<CXXMethodDecl>(FD))
- if (!(TrackOSObjects && isOSObjectRelated(MD)))
+ if (!isOSObjectRelated(MD))
return getPersistentSummary(RetEffect::MakeNoRet(),
ArgEffects(AF.getEmptyMap()),
ArgEffect(DoNothing),
ArgEffect(StopTracking),
ArgEffect(DoNothing));
+ if (TrackObjCAndCFObjects)
+ if (const RetainSummary *S =
+ getSummaryForObjCOrCFObject(FD, FName, RetTy, FT, AllowAnnotations))
+ return S;
+
return getDefaultSummary();
}
OpenPOWER on IntegriCloud