<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 20 June 2017 at 14:30, Lang Hames via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: lhames<br>
Date: Tue Jun 20 16:30:43 2017<br>
New Revision: 305860<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=305860&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=305860&view=rev</a><br>
Log:<br>
Special-case handling of destructors in override lists when dumping ASTs.<br>
<br>
Fixes a bug in r305850: CXXDestructors don't have names, so we need to handle<br>
printing of them separately.<br></blockquote><div><br></div><div>Clang models destructors as having names, and should print them properly. What was actually going wrong here? There are other kinds of name that can be virtual and aren't simple identifiers...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Modified:<br>
    cfe/trunk/lib/AST/ASTDumper.<wbr>cpp<br>
<br>
Modified: cfe/trunk/lib/AST/ASTDumper.<wbr>cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTDumper.cpp?rev=305860&r1=305859&r2=305860&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/AST/<wbr>ASTDumper.cpp?rev=305860&r1=<wbr>305859&r2=305860&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/AST/ASTDumper.<wbr>cpp (original)<br>
+++ cfe/trunk/lib/AST/ASTDumper.<wbr>cpp Tue Jun 20 16:30:43 2017<br>
@@ -1189,9 +1189,12 @@ void ASTDumper::VisitFunctionDecl(<wbr>const<br>
       auto dumpOverride =<br>
         [=](const CXXMethodDecl *D) {<br>
           SplitQualType T_split = D->getType().split();<br>
-          OS << D << " " << D->getParent()->getName() << "::"<br>
-             << D->getName() << " '"<br>
-             << QualType::getAsString(T_split) << "'";<br>
+          OS << D << " " << D->getParent()->getName() << "::";<br>
+          if (isa<CXXDestructorDecl>(D))<br>
+            OS << "~" << D->getParent()->getName();<br>
+          else<br>
+            OS << D->getName();<br>
+          OS << " '" << QualType::getAsString(T_split) << "'";<br>
         };<br>
<br>
       dumpChild([=] {<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div></div>