[PATCH] D18991: [ASTMatchers]: fix crash in hasReturnValue
Matthias Gehre via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 11 22:48:47 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL266043: [ASTMatchers]: fix crash in hasReturnValue (authored by mgehre).
Changed prior to commit:
http://reviews.llvm.org/D18991?vs=53311&id=53367#toc
Repository:
rL LLVM
http://reviews.llvm.org/D18991
Files:
cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
Index: cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
===================================================================
--- cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
+++ cfe/trunk/unittests/ASTMatchers/ASTMatchersTest.cpp
@@ -5500,6 +5500,7 @@
StatementMatcher RetVal = returnStmt(hasReturnValue(binaryOperator()));
EXPECT_TRUE(matches("int F() { int a, b; return a + b; }", RetVal));
EXPECT_FALSE(matches("int F() { int a; return a; }", RetVal));
+ EXPECT_FALSE(matches("void F() { return; }", RetVal));
}
} // end namespace ast_matchers
Index: cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
===================================================================
--- cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
+++ cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h
@@ -5013,9 +5013,11 @@
/// matches 'return a + b'
/// with binaryOperator()
/// matching 'a + b'
-AST_MATCHER_P(ReturnStmt, hasReturnValue, internal::Matcher<Expr>,
+AST_MATCHER_P(ReturnStmt, hasReturnValue, internal::Matcher<Expr>,
InnerMatcher) {
- return InnerMatcher.matches(*Node.getRetValue(), Finder, Builder);
+ if (const auto *RetValue = Node.getRetValue())
+ return InnerMatcher.matches(*RetValue, Finder, Builder);
+ return false;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18991.53367.patch
Type: text/x-patch
Size: 1281 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160412/89f21884/attachment.bin>
More information about the cfe-commits
mailing list