From: Serge Pavlov Date: Mon, 31 Oct 2016 05:11:12 +0000 (+0000) Subject: Make output of ast-print closer to C++ code X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=09c4e13586ec76befd0caa5ecc123371649b8999;p=clang Make output of ast-print closer to C++ code Put semicolon after non-defining method declaration and a class specialization body. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285543 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/DeclPrinter.cpp b/lib/AST/DeclPrinter.cpp index 6d47dd7b88..4a8db43817 100644 --- a/lib/AST/DeclPrinter.cpp +++ b/lib/AST/DeclPrinter.cpp @@ -337,10 +337,9 @@ void DeclPrinter::VisitDeclContext(DeclContext *DC, bool Indent) { const char *Terminator = nullptr; if (isa(*D) || isa(*D)) Terminator = nullptr; - else if (isa(*D) && - cast(*D)->isThisDeclarationADefinition()) + else if (isa(*D) && cast(*D)->hasBody()) Terminator = nullptr; - else if (isa(*D) && cast(*D)->getBody()) + else if (isa(*D) && cast(*D)->hasBody()) Terminator = nullptr; else if (isa(*D) || isa(*D) || isa(*D) || @@ -984,7 +983,7 @@ void DeclPrinter::VisitClassTemplateDecl(ClassTemplateDecl *D) { for (auto *I : D->specializations()) { PrintTemplateParameters(Params, &I->getTemplateArgs()); Visit(I); - Out << '\n'; + Out << ";\n"; } }