<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div><div class="h5">> This seems wrong to me.<br>
><br>
> Did you mean to write getLocEnd() instead? (Under the assumption that<br>
> identifier should comes last in class type)<br></div></div></blockquote><div> </div><div>This was done so that 'friend struct A' and 'friend A' (C++11) have different location since former is also a forward declaration. Does that make sense or have I misunderstood your question?</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div class="h5">
</div></div>It is useful to know that currently for:<br>
<br>
template <class U> class C {<br>
  template<class T> friend struct A<T>::B;<br>
};<br></blockquote><div><br></div><div>Not really sure what A is supposed to be here but this code is ill-formed: explicit specialization of non-template struct 'A'</div></div></div></div>