]> granicus.if.org Git - clang/commitdiff
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)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214847 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 0c80ff814c7cf289ff19a2b8d45981b35d82cacb..7805ed500777a34f62a0a75934463a19d2329fd6 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 cb9c64fc9a2e648ebff42a81d06ccda939815fd7..8a528a6bfd7c3c8810e8a808ba9cae22de9b8c02 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"
 }