summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-02-06 01:09:36 +0000
committerDouglas Gregor <dgregor@apple.com>2010-02-06 01:09:36 +0000
commitcae03b1e6dde7767f374a4e4a0e652900bad6fbd (patch)
tree148712ae285b6ed2ea68f379551a3ab467167c35 /clang/lib/CodeGen/Mangle.cpp
parent52cc0897f3fb03a69f03dbf57bd25af0b9755df3 (diff)
downloadbcm5719-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.cpp4
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:
OpenPOWER on IntegriCloud