summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2018-10-25 23:38:41 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2018-10-25 23:38:41 +0000
commit3cfa04e109f33253ed3595b03b4580b778c3b40e (patch)
tree5c0313c54e74c04e5270e608e8aa28d90aeb3f17 /clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp
parent7cdccb14594bc877dfe1153b73b31849630542bb (diff)
downloadbcm5719-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.cpp6
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.
OpenPOWER on IntegriCloud