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

> On Tue, May 22, 2012 at 10:03 PM, Richard Smith <[email protected]>wrote:
>
>> 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.
>>
>
> 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.
>

I've had a brief look, and didn't see a reasonable way to test this.
Committed as r157311.


> VarDecls seem to be fine, they actually use getInnerLocStart() at the
> appropriate place. So, we are actually making the behavior more consistent
> :-).
>

Right you are, I was looking at the instantiation location for the type,
which seems like a reasonable use of getTypeSpecStartLoc.

Thanks!
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to