From 194c27f25924ceb9dd8ade2903cb6024b4d763bc Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Tue, 19 Aug 2014 07:29:03 +0000 Subject: [PATCH] MS ABI: Update alias template mangling for VC "14" CTP 3 MSVC "14" CTP 3 has fixed it's mangling for alias templates when used as template-template arguments; update clang to be compatible with this mangling. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215972 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/AST/MicrosoftMangle.cpp | 5 ++--- test/CodeGenCXX/mangle-ms-cxx11.cpp | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/AST/MicrosoftMangle.cpp b/lib/AST/MicrosoftMangle.cpp index 7a159f4296..ddb4963515 100644 --- a/lib/AST/MicrosoftMangle.cpp +++ b/lib/AST/MicrosoftMangle.cpp @@ -1195,9 +1195,8 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD, if (const auto *TD = dyn_cast(ND)) { mangleType(TD); } else if (isa(ND)) { - // FIXME: The mangling, while compatible with VS "14", is horribly - // broken. Update this when they release their next compiler. - Out << '$'; + Out << "$$Y"; + mangleName(ND); } else { llvm_unreachable("unexpected template template NamedDecl!"); } diff --git a/test/CodeGenCXX/mangle-ms-cxx11.cpp b/test/CodeGenCXX/mangle-ms-cxx11.cpp index ff1692d019..ded08b9ff1 100644 --- a/test/CodeGenCXX/mangle-ms-cxx11.cpp +++ b/test/CodeGenCXX/mangle-ms-cxx11.cpp @@ -231,5 +231,5 @@ template