<br><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 class="im">

> 1. I assume the same is true for the whole if-else block in<br>
> CheckMemberSpecialization() that applies TSK_ExplicitSpecialization for<br>
> various Decl types?<br>
<br>
</div>Yes, those calls to setLocation all look wrong. Do you see any test<br>
failures if you remove them?</blockquote><div><br></div><div><div>Failing Tests (5):</div><div>    Clang :: CXX/temp/temp.spec/temp.expl.spec/p2-0x.cpp</div><div>    Clang :: CXX/temp/temp.spec/temp.expl.spec/p2.cpp</div>
<div>    Clang :: CXX/temp/temp.spec/temp.expl.spec/p5.cpp</div><div>    Clang :: CXX/temp/temp.spec/temp.explicit/p4.cpp</div><div>    Clang :: SemaCXX/warn-unused-filescoped.cpp</div></div><div><br></div><div>It looks like a few diagnostics rely on the location data. All of the fails seem to be composed of the diagnostics moving from the specialization to the declaration (from test/CXX/temp/temp.spec/temp.expl.spec/p5.cpp):<br>
</div><div><br></div><div><div>error: 'note' diagnostics expected but not seen: </div><div>  Line 31: forward declaration</div><div>error: 'note' diagnostics seen but not expected: </div><div>  Line 15: forward declaration of 'X<IntHolder, long>::Inner'</div>
<div>2 errors generated.</div></div><div><br></div><div>Obviously the tests could be fairly easily updated but it seems there's more than a little danger of adversely affecting utility of the diagnostics. I guess the diagnostics would have to be reworked to ensure they resolved the explicitly specialized definition rather than declaration location - which sounds like it might be a fair bit of work...</div>
<div> </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 class="im">
> 2. Where should any tests for this change live?<br>
<br>
</div>test/SemaCXX/sourceranges.cpp looks like a good candidate.</blockquote><div><br></div><div>Looks good. A few more test cases wouldn't go amiss looking at it ;)</div><div><br></div></div>
</div>