<div>Please find the attached patch, which changes the RecursiveASTVisitor behavior for CXXForRangeStmts, for review.</div><div><br></div>Depending on whether a RecursiveASTVisitor should visit implicit declarations, we need to do different things when visiting a range-based for loop.<div>
<br></div><div>If visiting implicit declarations, we can simply visit all children as we currently do.</div><div><br></div><div>If not, we should explicitly visit the loop variable (but not its implicit initialization) and the range initialization. Otherwise, we would not visit the range initialization at all (although it is explicit) because it is part of an implicit VarDecl.</div>