Author: arphaman Date: Tue Jan 3 06:14:59 2017 New Revision: 290886 URL: http://llvm.org/viewvc/llvm-project?rev=290886&view=rev Log: Handle VarTemplateDecl in DeclContextPrinter
This commit fixes a crash that occurs when -print-decl-contexts AST consumer tries to print an unhandled declaration. rdar://19467234 Differential Revision: https://reviews.llvm.org/D26964 Modified: cfe/trunk/lib/Frontend/ASTConsumers.cpp cfe/trunk/test/Coverage/ast-printing.cpp cfe/trunk/test/Coverage/cxx-language-features.inc Modified: cfe/trunk/lib/Frontend/ASTConsumers.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTConsumers.cpp?rev=290886&r1=290885&r2=290886&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/ASTConsumers.cpp (original) +++ cfe/trunk/lib/Frontend/ASTConsumers.cpp Tue Jan 3 06:14:59 2017 @@ -522,6 +522,10 @@ void DeclContextPrinter::PrintDeclContex Out << "<access specifier>\n"; break; } + case Decl::VarTemplate: { + Out << "<var template> " << *cast<VarTemplateDecl>(I) << "\n"; + break; + } default: Out << "DeclKind: " << DK << '"' << I << "\"\n"; llvm_unreachable("decl unhandled"); Modified: cfe/trunk/test/Coverage/ast-printing.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Coverage/ast-printing.cpp?rev=290886&r1=290885&r2=290886&view=diff ============================================================================== --- cfe/trunk/test/Coverage/ast-printing.cpp (original) +++ cfe/trunk/test/Coverage/ast-printing.cpp Tue Jan 3 06:14:59 2017 @@ -1,9 +1,9 @@ -// RUN: %clang_cc1 -fsyntax-only %s -// RUN: %clang_cc1 -ast-print %s -o %t.1.cpp -// RUN: %clang_cc1 -ast-print %t.1.cpp -o %t.2.cpp +// RUN: %clang_cc1 -std=c++14 -fsyntax-only %s +// RUN: %clang_cc1 -std=c++14 -ast-print %s -o %t.1.cpp +// RUN: %clang_cc1 -std=c++14 -ast-print %t.1.cpp -o %t.2.cpp // RUN: diff %t.1.cpp %t.2.cpp -// RUN: %clang_cc1 -ast-dump %s -// RUN: %clang_cc1 -print-decl-contexts %s -// RUN: %clang_cc1 -fdump-record-layouts %s +// RUN: %clang_cc1 -std=c++14 -ast-dump %s +// RUN: %clang_cc1 -std=c++14 -print-decl-contexts %s +// RUN: %clang_cc1 -std=c++14 -fdump-record-layouts %s #include "cxx-language-features.inc" Modified: cfe/trunk/test/Coverage/cxx-language-features.inc URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Coverage/cxx-language-features.inc?rev=290886&r1=290885&r2=290886&view=diff ============================================================================== --- cfe/trunk/test/Coverage/cxx-language-features.inc (original) +++ cfe/trunk/test/Coverage/cxx-language-features.inc Tue Jan 3 06:14:59 2017 @@ -60,3 +60,6 @@ struct ClassTemplatePartialSpecializatio struct AccessSpec { private: }; + +// Variable template +template <typename T> T varTemplate = 0; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits