summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
diff options
context:
space:
mode:
authorAaron Ballman <aaron@aaronballman.com>2018-11-30 18:52:51 +0000
committerAaron Ballman <aaron@aaronballman.com>2018-11-30 18:52:51 +0000
commitcd5115b74dcbd284064cf793d7c9024ae3233db1 (patch)
treec3041f4f11a5b1e5ce4f186c05e776688c08d090 /clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
parent4d80f199e8bafad1772e4c0e5176dc1a663a3657 (diff)
downloadbcm5719-llvm-cd5115b74dcbd284064cf793d7c9024ae3233db1.tar.gz
bcm5719-llvm-cd5115b74dcbd284064cf793d7c9024ae3233db1.zip
Reverting r347949-r347951 because they broke the test bots.
http://lab.llvm.org:8011/builders/clang-cmake-armv8-lld/builds/440/steps/ninja%20check%202/logs/FAIL%3A%20Clang%3A%3Aosobject-retain-release.cpp llvm-svn: 348020
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp22
1 files changed, 4 insertions, 18 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp b/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
index 2595274f2dd..fc4544f843d 100644
--- a/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
+++ b/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
@@ -124,8 +124,10 @@ RetainSummaryManager::generateSummary(const FunctionDecl *FD,
}
const IdentifierInfo *II = FD->getIdentifier();
+ if (!II)
+ return getDefaultSummary();
- StringRef FName = II ? II->getName() : "";
+ StringRef FName = II->getName();
// Strip away preceding '_'. Doing this here will effect all the checks
// down below.
@@ -302,12 +304,6 @@ RetainSummaryManager::generateSummary(const FunctionDecl *FD,
if (FName == "retain")
return getOSSummaryRetainRule(FD);
-
- if (FName == "free")
- return getOSSummaryFreeRule(FD);
-
- if (MD->getOverloadedOperator() == OO_New)
- return getOSSummaryCreateRule(MD);
}
}
@@ -495,11 +491,9 @@ RetainSummaryManager::getSummary(const CallEvent &Call,
case CE_CXXConstructor:
Summ = getFunctionSummary(cast<CXXConstructorCall>(Call).getDecl());
break;
- case CE_CXXAllocator:
- Summ = getFunctionSummary(cast<CXXAllocatorCall>(Call).getDecl());
- break;
case CE_Block:
case CE_CXXDestructor:
+ case CE_CXXAllocator:
// FIXME: These calls are currently unsupported.
return getPersistentStopSummary();
case CE_ObjCMessage: {
@@ -625,14 +619,6 @@ RetainSummaryManager::getOSSummaryReleaseRule(const FunctionDecl *FD) {
}
const RetainSummary *
-RetainSummaryManager::getOSSummaryFreeRule(const FunctionDecl *FD) {
- return getPersistentSummary(RetEffect::MakeNoRet(),
- /*ReceiverEff=*/DoNothing,
- /*DefaultEff=*/DoNothing,
- /*ThisEff=*/Dealloc);
-}
-
-const RetainSummary *
RetainSummaryManager::getOSSummaryCreateRule(const FunctionDecl *FD) {
return getPersistentSummary(RetEffect::MakeOwned(RetEffect::OS));
}
OpenPOWER on IntegriCloud