From 6cd9d4aa13c2145c8b4398453974515b734bfe42 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 4 Mar 2011 21:37:14 +0000 Subject: Teach Sema::ActOnCXXNestedNameSpecifier and Sema::CheckTemplateIdType to cope with non-type templates by providing appropriate errors. Previously, we would either assert, crash, or silently build a dependent type when we shouldn't. Fixes PR9226. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127037 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AST/TemplateName.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/AST/TemplateName.cpp') diff --git a/lib/AST/TemplateName.cpp b/lib/AST/TemplateName.cpp index 6b378a0011..ebd07f4867 100644 --- a/lib/AST/TemplateName.cpp +++ b/lib/AST/TemplateName.cpp @@ -118,6 +118,10 @@ TemplateName::print(llvm::raw_ostream &OS, const PrintingPolicy &Policy, } else if (SubstTemplateTemplateParmPackStorage *SubstPack = getAsSubstTemplateTemplateParmPack()) OS << SubstPack->getParameterPack()->getNameAsString(); + else { + OverloadedTemplateStorage *OTS = getAsOverloadedTemplate(); + (*OTS->begin())->printName(OS); + } } const DiagnosticBuilder &clang::operator<<(const DiagnosticBuilder &DB, -- cgit v1.2.1