Hi,<br><br><div class="gmail_quote">On Tue, Jan 31, 2012 at 5:04 AM, Enea Zaffanella <span dir="ltr"><<a href="mailto:zaffanella@cs.unipr.it" target="_blank">zaffanella@cs.unipr.it</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Please find attached for review a patch that adds the source location of the optional "template" keyword to TemplateSpecializationTypeLoc, thereby allowing for a more faithful AST representation of constructs such as the following:<br>


<br>
namespace N {<br>
template <typename T><br>
struct S;<br>
}<br>
<br>
template <typename T><br>
void foo() {<br>
  N::S<T> s;          // TSTLoc without template keyword<br>
  N::template S<T> s; // TSTLoc with template keyword<br>
}<br>
<br>
NOTE: we can not exploit the pretty printer to provide a testcase for the patch, because (as far as we can tell) the pretty printer is visiting the Type hierarchy (i.e., it disregards the TypeLoc hierarchy).<br>
<br>
While at it, also renamed a few members in class<br>
  DependentTemplateSpecializatio<u></u>nTypeLoc<br>
so as to have a more consistent and clearer naming scheme:<br>
  getKeywordLoc --> getElaboratedKeywordLoc<br>
  getNameLoc    --> getTemplateNameLoc<br>
<br>
The patch is adding 3 new FIXME's in TreeTransform.h: these will be addressed in a forthcoming patch adding the template keyword location to DependentTemplateSpecializatio<u></u>nTypeLoc.<br><span><font color="#888888"></font></span></blockquote>

</div><br><div>Patches should be sent to cfe-commits for review; dropping cfe-dev via bcc.</div><div><br></div><div>The patch itself is missing tests. Can the fix to TST's source range be tested with c-index-test?</div>
<div><br></div><div>Thanks,</div><div>Richard</div>