Thanks for working on this patch! I'm sorry to say but I had an earlier patch in review that fixes this issue (https://reviews.llvm.org/D26964). I think my patch covers all of the decl kinds that are fixed by this patch. I plan on committing my patch today.
Alex On 29 December 2016 at 23:35, Fangrui Song via cfe-commits < cfe-commits@lists.llvm.org> wrote: > --- > lib/Frontend/ASTConsumers.cpp | 37 ++++++++++++++++++++++++++++++++----- > 1 file changed, 32 insertions(+), 5 deletions(-) > > diff --git a/lib/Frontend/ASTConsumers.cpp b/lib/Frontend/ASTConsumers.cpp > index bd2ee06d16..987b8ca398 100644 > --- a/lib/Frontend/ASTConsumers.cpp > +++ b/lib/Frontend/ASTConsumers.cpp > @@ -405,6 +405,22 @@ void DeclContextPrinter::PrintDeclContext(const > DeclContext* DC, > PrintDeclContext(DC, Indentation+2); > break; > } > + case Decl::AccessSpec: { > + Out << "<AccessSpec>\n"; > + break; > + } > + case Decl::ClassTemplate: { > + Out << "<ClassTemplate> " << *cast<ClassTemplateDecl>(I) << '\n'; > + break; > + } > + case Decl::ClassTemplateSpecialization: { > + Out << "<ClassTemplateSpecialization> " << *cast< > ClassTemplateSpecializationDecl>(I) << '\n'; > + break; > + } > + case Decl::ClassTemplatePartialSpecialization: { > + Out << "<ClassTemplatePartialSpecialization> " << *cast< > ClassTemplatePartialSpecializationDecl>(I) << '\n'; > + break; > + } > case Decl::IndirectField: { > IndirectFieldDecl* IFD = cast<IndirectFieldDecl>(I); > Out << "<IndirectField> " << *IFD << '\n'; > @@ -420,6 +436,10 @@ void DeclContextPrinter::PrintDeclContext(const > DeclContext* DC, > Out << "<field> " << *FD << '\n'; > break; > } > + case Decl::Friend: { > + Out << "<Friend>\n"; > + break; > + } > case Decl::Typedef: > case Decl::TypeAlias: { > TypedefNameDecl* TD = cast<TypedefNameDecl>(I); > @@ -460,6 +480,14 @@ void DeclContextPrinter::PrintDeclContext(const > DeclContext* DC, > Out << "<file-scope asm>\n"; > break; > } > + case Decl::Using: { > + Out << "<Using> " << *cast<UsingDecl>(I) << '\n'; > + break; > + } > + case Decl::UsingShadow: { > + Out << "<UsingShadow> " << *cast<UsingShadowDecl>(I) << '\n'; > + break; > + } > case Decl::UsingDirective: { > Out << "<using directive>\n"; > break; > @@ -469,15 +497,14 @@ void DeclContextPrinter::PrintDeclContext(const > DeclContext* DC, > Out << "<namespace alias> " << *NAD << '\n'; > break; > } > - case Decl::ClassTemplate: { > - ClassTemplateDecl *CTD = cast<ClassTemplateDecl>(I); > - Out << "<class template> " << *CTD << '\n'; > - break; > - } > case Decl::OMPThreadPrivate: { > Out << "<omp threadprivate> " << '"' << I << "\"\n"; > break; > } > + case Decl::VarTemplate: { > + Out << "<VarTemplate> " << *cast<VarTemplateDecl>(I) << '\n'; > + break; > + } > default: > Out << "DeclKind: " << DK << '"' << I << "\"\n"; > llvm_unreachable("decl unhandled"); > -- > 2.11.0 > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits