From 2d565b30689c5f79f22de7bad8723c48006d3a06 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Sat, 6 Feb 2010 01:09:36 +0000 Subject: [PATCH] Assert when we try to mangle a dependent template name, rather than crashing unceremoniously. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95464 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/Mangle.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/CodeGen/Mangle.cpp b/lib/CodeGen/Mangle.cpp index 3f541ae87a..9ac5956a64 100644 --- a/lib/CodeGen/Mangle.cpp +++ b/lib/CodeGen/Mangle.cpp @@ -1104,7 +1104,7 @@ void CXXNameMangler::mangleType(const TypenameType *T) { dyn_cast(QTy)) { if (!mangleSubstitution(QualType(TST, 0))) { TemplateDecl *TD = TST->getTemplateName().getAsTemplateDecl(); - + assert(TD && "FIXME: Support dependent template names"); mangleTemplatePrefix(TD); mangleTemplateArgs(TST->getArgs(), TST->getNumArgs()); addSubstitution(QualType(TST, 0)); @@ -1467,6 +1467,8 @@ void CXXNameMangler::mangleTemplateArg(const TemplateArgument &A) { mangleType(A.getAsType()); break; case TemplateArgument::Template: + assert(A.getAsTemplate().getAsTemplateDecl() && + "FIXME: Support dependent template names"); mangleName(A.getAsTemplate().getAsTemplateDecl()); break; case TemplateArgument::Expression: -- 2.40.0