diff options
| author | Daniel Jasper <djasper@google.com> | 2012-06-21 08:50:04 +0000 |
|---|---|---|
| committer | Daniel Jasper <djasper@google.com> | 2012-06-21 08:50:04 +0000 |
| commit | c4dabab94141371f16bddcb89779c75e1362df7e (patch) | |
| tree | 53a2cce923e5ef001b278cadad21919b3fb77278 /clang | |
| parent | f50a9ffd0bea49afc0cfcea588dc73962cc7ba3a (diff) | |
| download | bcm5719-llvm-c4dabab94141371f16bddcb89779c75e1362df7e.tar.gz bcm5719-llvm-c4dabab94141371f16bddcb89779c75e1362df7e.zip | |
Make the RecursiveASTVisitor visit the body of a range-based for loop
again. This was broken in r158395.
llvm-svn: 158907
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang/AST/RecursiveASTVisitor.h | 1 | ||||
| -rw-r--r-- | clang/unittests/Tooling/RecursiveASTVisitorTest.cpp | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/include/clang/AST/RecursiveASTVisitor.h b/clang/include/clang/AST/RecursiveASTVisitor.h index 2014f071523..d751d556e9f 100644 --- a/clang/include/clang/AST/RecursiveASTVisitor.h +++ b/clang/include/clang/AST/RecursiveASTVisitor.h @@ -1878,6 +1878,7 @@ DEF_TRAVERSE_STMT(CXXForRangeStmt, { if (!shouldVisitImplicitCode()) { TRY_TO(TraverseStmt(S->getLoopVarStmt())); TRY_TO(TraverseStmt(S->getRangeInit())); + TRY_TO(TraverseStmt(S->getBody())); // Visit everything else only if shouldVisitImplicitCode(). return true; } diff --git a/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp b/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp index 9d693095d7c..9ef86b552cf 100644 --- a/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp +++ b/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp @@ -261,9 +261,10 @@ TEST(RecursiveASTVisitor, VisitsBaseClassTemplateArguments) { TEST(RecursiveASTVisitor, VisitsCXXForRangeStmtRange) { DeclRefExprVisitor Visitor; Visitor.ExpectMatch("x", 2, 25); + Visitor.ExpectMatch("x", 2, 30); EXPECT_TRUE(Visitor.runOver( "int x[5];\n" - "void f() { for (int i : x) {} }")); + "void f() { for (int i : x) { x[0] = 1; } }")); } TEST(RecursiveASTVisitor, VisitsCXXForRangeStmtLoopVariable) { |

