MS ABI: Make the alias template mangling more correct
authorDavid Majnemer <david.majnemer@gmail.com>
Tue, 5 Aug 2014 06:42:40 +0000 (06:42 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Tue, 5 Aug 2014 06:42:40 +0000 (06:42 +0000)
llvm-svn: 214847

clang/lib/AST/MicrosoftMangle.cpp
clang/test/CodeGenCXX/mangle-ms-cxx11.cpp

index 0c80ff8..7805ed5 100644 (file)
@@ -1187,7 +1187,7 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD,
     } else if (isa<TypeAliasDecl>(ND)) {
       // FIXME: The mangling, while compatible with VS "14", is horribly
       // broken.  Update this when they release their next compiler.
-      Out << '?';
+      Out << '$';
     } else {
       llvm_unreachable("unexpected template template NamedDecl!");
     }
index cb9c64f..8a528a6 100644 (file)
@@ -151,5 +151,5 @@ template <template <typename> class>
 void f() {}
 
 template void f<AliasA>();
-// CHECK-DAG: @"\01??$f@?@PR20047@@YAXXZ"
+// CHECK-DAG: @"\01??$f@$@PR20047@@YAXXZ"
 }