[cfe-commits] [patch] TransformIterator (motivating use case in Clang)

Chandler Carruth chandlerc at google.com
Tue May 15 15:07:41 PDT 2012

On Tue, May 15, 2012 at 3:33 PM, David Blaikie <dblaikie at gmail.com> wrote:

> > This seems like a lot of work and a disruptive change in API patterning,
> and
> > I'm really not clear what problem it's trying to solve. My suspicion is
> that
> > there isn't one other than a preference for references instead of
> pointers.
> Well the underlying problem was the inconsistency of the iterators in
> Decl/DeclBase. I wanted to rationalize their value/reference/pointer
> types so I could then extract the common filtering functionality out
> of filtered/specific_decl_iterator as a proof-of-concept for a general
> adapting/filtering iterator device which I could then re-use in my
> efforts to improve the CFG fidelity and -Wunreachable-code diagnostic.
> This particular path (generalizing the existing filtering iterators to
> a reusable adapter before reusing that in the new use case) was
> suggested by Ted Kremmenek & I was happy enough to have an excuse to
> tidy up some existing code.

Ok, but again, this is a disruptive change in API patterning. I don't think
the inconsistency you point out really justifies the churn without some
more compelling problem that it solves. That said, I'd be interested in
Ted's perspective here.

I also don't see why its necessary to change the pointer / reference
semantics in order to factor out common iterator infrastructure, so I'm not
really clear why one is blocked on the other.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120515/e8badca0/attachment.html>

More information about the cfe-commits mailing list