summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
diff options
context:
space:
mode:
authorAngel Garcia Gomez <angelgarcia@google.com>2015-09-02 14:25:08 +0000
committerAngel Garcia Gomez <angelgarcia@google.com>2015-09-02 14:25:08 +0000
commit8475466860c27af6a7691413a07cd6b1af17f45e (patch)
treed86eaa8d0d971d2477066414b8ba2bdd465985cc /clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
parentd2c3599c5f777f372087cde87510c65e3dc91b1e (diff)
downloadbcm5719-llvm-8475466860c27af6a7691413a07cd6b1af17f45e.tar.gz
bcm5719-llvm-8475466860c27af6a7691413a07cd6b1af17f45e.zip
Fix loop-convert crash.
Summary: loop-convert no longer crashes when calling a member function using a member pointer which is a member of another record. Reviewers: alexfh, klimek Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D12555 llvm-svn: 246655
Diffstat (limited to 'clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
index 732d40bd604..f2e0f552180 100644
--- a/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
+++ b/clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
@@ -370,7 +370,10 @@ static bool isAliasDecl(const Decl *TheDecl, const VarDecl *IndexVar) {
case Stmt::CXXMemberCallExprClass: {
const auto *MemCall = cast<CXXMemberCallExpr>(Init);
- if (MemCall->getMethodDecl()->getName() == "at") {
+ // This check is needed because getMethodDecl can return nullptr if the
+ // callee is a member function pointer.
+ if (MemCall->getMethodDecl() &&
+ MemCall->getMethodDecl()->getName() == "at") {
assert(MemCall->getNumArgs() == 1);
return isIndexInSubscriptExpr(MemCall->getArg(0), IndexVar);
}
OpenPOWER on IntegriCloud