diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2018-11-30 18:52:51 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2018-11-30 18:52:51 +0000 |
commit | cd5115b74dcbd284064cf793d7c9024ae3233db1 (patch) | |
tree | c3041f4f11a5b1e5ce4f186c05e776688c08d090 /clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp | |
parent | 4d80f199e8bafad1772e4c0e5176dc1a663a3657 (diff) | |
download | bcm5719-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.cpp | 22 |
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)); } |