]> granicus.if.org Git - clang/commitdiff
Set the template specialization kind before instantiating the function definition...
authorAnders Carlsson <andersca@mac.com>
Tue, 24 Nov 2009 05:34:41 +0000 (05:34 +0000)
committerAnders Carlsson <andersca@mac.com>
Tue, 24 Nov 2009 05:34:41 +0000 (05:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89740 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaTemplate.cpp

index bfdf17afaee56ea9e9ce15218c2d3f0aca8d6555..a37a73119ddecaef4bfae9672656bafffe3206ec 100644 (file)
@@ -4347,12 +4347,12 @@ Sema::DeclResult Sema::ActOnExplicitInstantiation(Scope *S,
     if (SuppressNew)
       return DeclPtrTy();
   }
+
+  Specialization->setTemplateSpecializationKind(TSK, D.getIdentifierLoc());
   
   if (TSK == TSK_ExplicitInstantiationDefinition)
     InstantiateFunctionDefinition(D.getIdentifierLoc(), Specialization, 
                                   false, /*DefinitionRequired=*/true);
-      
-  Specialization->setTemplateSpecializationKind(TSK, D.getIdentifierLoc());
  
   // C++0x [temp.explicit]p2:
   //   If the explicit instantiation is for a member function, a member class