[cfe-commits] r82839 - /cfe/trunk/lib/CodeGen/Mangle.cpp

Anders Carlsson andersca at mac.com
Fri Sep 25 20:25:28 PDT 2009


Author: andersca
Date: Fri Sep 25 22:24:57 2009
New Revision: 82839

URL: http://llvm.org/viewvc/llvm-project?rev=82839&view=rev
Log:
Change isTemplate to return the actual template declaration.

Modified:
    cfe/trunk/lib/CodeGen/Mangle.cpp

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

==============================================================================
--- cfe/trunk/lib/CodeGen/Mangle.cpp (original)
+++ cfe/trunk/lib/CodeGen/Mangle.cpp Fri Sep 25 22:24:57 2009
@@ -252,13 +252,13 @@
   return NS->getOriginalNamespace()->getIdentifier()->isStr("std");
 }
 
-static const NamedDecl *isTemplate(const NamedDecl *ND, 
-                                   const TemplateArgumentList *&TemplateArgs) {
+static const TemplateDecl *
+isTemplate(const NamedDecl *ND, const TemplateArgumentList *&TemplateArgs) {
   // Check if we have a function template.
   if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(ND)){
-    if (FD->getPrimaryTemplate()) {
+    if (const TemplateDecl *TD = FD->getPrimaryTemplate()) {
       TemplateArgs = FD->getTemplateSpecializationArgs();
-      return FD;
+      return TD;
     }
   }
 
@@ -266,7 +266,7 @@
   if (const ClassTemplateSpecializationDecl *Spec =
         dyn_cast<ClassTemplateSpecializationDecl>(ND)) {
     TemplateArgs = &Spec->getTemplateArgs();
-    return Spec;
+    return Spec->getSpecializedTemplate();
   }
     
   return 0;





More information about the cfe-commits mailing list