[cfe-commits] r82879 - in /cfe/trunk: lib/CodeGen/Mangle.cpp test/CodeGenCXX/mangle.cpp

Anders Carlsson andersca at mac.com
Sat Sep 26 15:18:22 PDT 2009


Author: andersca
Date: Sat Sep 26 17:18:22 2009
New Revision: 82879

URL: http://llvm.org/viewvc/llvm-project?rev=82879&view=rev
Log:
Handle substitutions in mangleTemplatePrefix.

Modified:
    cfe/trunk/lib/CodeGen/Mangle.cpp
    cfe/trunk/test/CodeGenCXX/mangle.cpp

Modified: cfe/trunk/lib/CodeGen/Mangle.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/Mangle.cpp?rev=82879&r1=82878&r2=82879&view=diff

==============================================================================
--- cfe/trunk/lib/CodeGen/Mangle.cpp (original)
+++ cfe/trunk/lib/CodeGen/Mangle.cpp Sat Sep 26 17:18:22 2009
@@ -531,10 +531,15 @@
   //                   ::= <template-param>
   //                   ::= <substitution>
 
-  // FIXME: <substitution> and <template-param>
+  if (mangleSubstitution(ND))
+    return;
+  
+  // FIXME: <template-param>
   
   manglePrefix(ND->getDeclContext());
   mangleUnqualifiedName(ND->getTemplatedDecl());
+  
+  addSubstitution(ND);
 }
 
 void

Modified: cfe/trunk/test/CodeGenCXX/mangle.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/mangle.cpp?rev=82879&r1=82878&r2=82879&view=diff

==============================================================================
--- cfe/trunk/test/CodeGenCXX/mangle.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/mangle.cpp Sat Sep 26 17:18:22 2009
@@ -162,8 +162,7 @@
 template<typename T> bool operator==(const A<T>&, const A<T>&) { return true; }
 }
 
-// FIXME: This should be _ZN2NSeqIcEEbRK1AIT_ES5_
-// CHECK: @_ZN2NSeqIcEEbRK1AIT_ES4_
+// CHECK: @_ZN2NSeqIcEEbRK1AIT_ES5_
 template bool NS::operator==(const ::A<char>&, const ::A<char>&);
 
 namespace std {





More information about the cfe-commits mailing list