diff options
Diffstat (limited to 'lib/Analysis/CFRefCount.cpp')
-rw-r--r-- | lib/Analysis/CFRefCount.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Analysis/CFRefCount.cpp b/lib/Analysis/CFRefCount.cpp index c2369abb2c..6223e7cdba 100644 --- a/lib/Analysis/CFRefCount.cpp +++ b/lib/Analysis/CFRefCount.cpp @@ -1104,7 +1104,11 @@ RetainSummaryManager::getMethodSummaryFromAnnotations(ObjCMethodDecl *MD) { ScratchArgs.push_back(std::make_pair(i, IncRefMsg)); hasArgEffect = true; } -} + else if ((*I)->getAttr<ObjCOwnershipCFRetainAttr>()) { + ScratchArgs.push_back(std::make_pair(i, IncRef)); + hasArgEffect = true; + } + } if (!hasRetEffect && !hasArgEffect) return 0; |