Hi Daniel,

On Tue, May 22, 2012 at 12:18 PM, Daniel Jasper <[email protected]> wrote:

> Hello,
>
> I have noticed that the start location of FieldDecls is different in
> template instantiations and in the primary template (the instantiations
> loose the location of leading qualifiers). The reason is that the location
> of qualifiers is currently not tracked in the TypeLocs. However, it makes
> sense to use the primary template's inner start location making the two
> FieldDecls have the same code range independent of the TypeLoc
> implementation.
>
> Please find the corresponding patch attached.
>

Can you add a test for this? Also, VarDecls (and the substitution of
function types for function declarations) seem to have the same problem. We
should fix all of them together.

I'm also concerned that DeclaratorDecl::getTypeSpecStartLoc does not return
the location of the first type-specifier -- perhaps we should rename it to
getTypeSpecLoc(), and document that it does not return the location of a
cv-qualifier (though not as part of your patch). The other uses of it in
Sema generally look acceptable (mostly for diagnostic locations), but I'm
not sure whether the uses of it in the RewriteObjC code are correct.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to