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 | cae03b1e6dde7767f374a4e4a0e652900bad6fbd (patch) | |
tree | 148712ae285b6ed2ea68f379551a3ab467167c35 /clang/lib/CodeGen/Mangle.cpp | |
parent | 52cc0897f3fb03a69f03dbf57bd25af0b9755df3 (diff) | |
download | bcm5719-llvm-cae03b1e6dde7767f374a4e4a0e652900bad6fbd.tar.gz bcm5719-llvm-cae03b1e6dde7767f374a4e4a0e652900bad6fbd.zip |
Assert when we try to mangle a dependent template name, rather than
crashing unceremoniously.
llvm-svn: 95464
Diffstat (limited to 'clang/lib/CodeGen/Mangle.cpp')
-rw-r--r-- | clang/lib/CodeGen/Mangle.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index 3f541ae87ae..9ac5956a644 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/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: |