[cfe-commits] Properly visit CXXForRangeStmts in RecursiveASTVisitor

Richard Smith richard at metafoo.co.uk
Tue Jun 12 22:48:50 PDT 2012


Hi Daniel,

On Tue, Jun 12, 2012 at 10:36 PM, Daniel Jasper <djasper at google.com> wrote:

> Please find the attached patch, which changes the RecursiveASTVisitor
> behavior for CXXForRangeStmts, for review.
>
> Depending on whether a RecursiveASTVisitor should visit implicit
> declarations, we need to do different things when visiting a range-based
> for loop.
>
> If visiting implicit declarations, we can simply visit all children as we
> currently do.
>
> 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.
>

The patch looks great, but please update the comment for
shouldVisitImplicitDeclarations to indicate that it also controls whether
we visit implicit expressions in some cases. (I'm wary of renaming it,
because that might silently break external RAV users...)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120612/87a58525/attachment.html>


More information about the cfe-commits mailing list