Looks like the root cause here is that Sema::getDestructorName isn't building a TypeSourceInfo for the destructor name.<br><br><div class="gmail_quote">On Wed, Feb 13, 2013 at 2:23 PM, James Abbatiello <span dir="ltr"><<a href="mailto:abbeyj@gmail.com" target="_blank">abbeyj@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hello,<br><br>I've been looking into <a href="http://llvm.org/bugs/show_bug.cgi?id=15125" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=15125</a> and I think I have an idea of where the problem is coming from but not how to fix it.  Advice or input of any kind would be welcome.<br>

<br>At <a href="http://clang.llvm.org/doxygen/DeclarationName_8cpp_source.html#l00578" target="_blank">http://clang.llvm.org/doxygen/DeclarationName_8cpp_source.html#l00578</a>, the  TInfo variable is always NULL in my experiments.  So the code returns NameLoc (the start location) instead of the end.<br>

<br>This NULL value comes from <a href="http://clang.llvm.org/doxygen/d9/d4f/SemaDecl_8cpp_source.html#l03002" target="_blank">http://clang.llvm.org/doxygen/d9/d4f/SemaDecl_8cpp_source.html#l03002</a>.  This code calls GetTypeFromParser with the type of the class (a RecordType).  GetTypeFromPointer will then try to dyn_cast this to LocInfoType which gets NULL.  That NULL eventually ends up in TInfo above.<br>

<br>At this point we have both the needed SourceLocations in Name.StartLocation and Name.EndLocation but we need a LocInfoType instead.  Can I retrieve or construct one that's appropriate here?  Or should the anonymous union in DeclarationNameLoc be extended to be able to hold a TInfo* and an end location when handling one of CXXConstructorName, CXXDestructorName and CXXConversionFunctionName?<span class="HOEnZb"><font color="#888888"><br>

<br>-- <br></font></span></div><span class="HOEnZb"><font color="#888888">James Abbatiello<br><br></font></span></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br>