<br><br><div class="gmail_quote">On Tue, May 22, 2012 at 10:03 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote">Hi Daniel,</div><div class="gmail_quote"><br></div><div class="gmail_quote"><div><div class="h5">On Tue, May 22, 2012 at 12:18 PM, Daniel Jasper <span dir="ltr"><<a href="mailto:djasper@google.com" target="_blank">djasper@google.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<div><br></div><div>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.</div>


<div><br></div><div>Please find the corresponding patch attached.</div></blockquote><div><br></div></div></div><div>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.</div>
</div></blockquote><div><br></div><div>Not much else there is actually tested. I could add RecursiveASTVisitor-tests for a couple of things, but I think this should be well-designed and will take more effort. I can try to find a diagnostic that triggers on this (start location of FieldDecls in template instantiations), but maybe we can get this in as a small bug-fix.</div>
<div><br></div><div>VarDecls seem to be fine, they actually use getInnerLocStart() at the appropriate place. So, we are actually making the behavior more consistent :-).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div>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.</div>

</div>
</blockquote></div><br>