diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2018-10-25 23:38:41 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2018-10-25 23:38:41 +0000 |
commit | 3cfa04e109f33253ed3595b03b4580b778c3b40e (patch) | |
tree | 5c0313c54e74c04e5270e608e8aa28d90aeb3f17 /clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp | |
parent | 7cdccb14594bc877dfe1153b73b31849630542bb (diff) | |
download | bcm5719-llvm-3cfa04e109f33253ed3595b03b4580b778c3b40e.tar.gz bcm5719-llvm-3cfa04e109f33253ed3595b03b4580b778c3b40e.zip |
[analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators
Differential Revision: https://reviews.llvm.org/D53660
llvm-svn: 345340
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp b/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp index 1a2dc28a571..efaab64c770 100644 --- a/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp +++ b/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp @@ -478,8 +478,12 @@ RetainSummaryManager::getSummary(const CallEvent &Call, Summ = getFunctionSummary(cast<CXXMemberCall>(Call).getDecl()); break; case CE_CXXMemberOperator: - case CE_Block: + Summ = getFunctionSummary(cast<CXXMemberOperatorCall>(Call).getDecl()); + break; case CE_CXXConstructor: + Summ = getFunctionSummary(cast<CXXConstructorCall>(Call).getDecl()); + break; + case CE_Block: case CE_CXXDestructor: case CE_CXXAllocator: // FIXME: These calls are currently unsupported. |