diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-02-06 01:09:36 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-02-06 01:09:36 +0000 |
commit | 2d565b30689c5f79f22de7bad8723c48006d3a06 (patch) | |
tree | 6fb49527f834ef0943b3e9b421a1997d30060442 /lib/CodeGen/Mangle.cpp | |
parent | 1f1b3b3bdec84e2204f18732e3241f6907a17309 (diff) |
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
Diffstat (limited to 'lib/CodeGen/Mangle.cpp')
-rw-r--r-- | lib/CodeGen/Mangle.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
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<TemplateSpecializationType>(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: |