From a16b0cae9a23c1710916b3f47c5c5fe6bfb5ec0a Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 5 Feb 2010 20:45:00 +0000 Subject: Implement name mangling for template template parameters llvm-svn: 95427 --- clang/lib/CodeGen/Mangle.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'clang/lib/CodeGen/Mangle.cpp') diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp index cb304960ce7..3f541ae87ae 100644 --- a/clang/lib/CodeGen/Mangle.cpp +++ b/clang/lib/CodeGen/Mangle.cpp @@ -400,6 +400,13 @@ void CXXNameMangler::mangleUnscopedTemplateName(const TemplateDecl *ND) { if (mangleSubstitution(ND)) return; + // ::= + if (const TemplateTemplateParmDecl *TTP + = dyn_cast(ND)) { + mangleTemplateParameter(TTP->getIndex()); + return; + } + mangleUnscopedName(ND->getTemplatedDecl()); addSubstitution(ND); } @@ -674,15 +681,21 @@ void CXXNameMangler::mangleTemplatePrefix(const TemplateDecl *ND) { // ::=