]> granicus.if.org Git - clang/commitdiff
Assert when we try to mangle a dependent template name, rather than
authorDouglas Gregor <dgregor@apple.com>
Sat, 6 Feb 2010 01:09:36 +0000 (01:09 +0000)
committerDouglas Gregor <dgregor@apple.com>
Sat, 6 Feb 2010 01:09:36 +0000 (01:09 +0000)
crashing unceremoniously.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95464 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/Mangle.cpp

index 3f541ae87ae89e09006e807ec88d7c72d391ef80..9ac5956a644f3d68397f1fc87a2fef47cef9bf15 100644 (file)
@@ -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: