Remove an obsolete kludge based on the previous, completely broken handling of functi...
authorDouglas Gregor <dgregor@apple.com>
Wed, 29 Jul 2009 16:15:53 +0000 (16:15 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 29 Jul 2009 16:15:53 +0000 (16:15 +0000)
llvm-svn: 77464

clang/lib/Sema/SemaTemplate.cpp
clang/test/SemaTemplate/temp_class_spec.cpp

index f27d551..55c43c2 100644 (file)
@@ -69,13 +69,8 @@ TemplateNameKind Sema::isTemplateName(const IdentifierInfo &II, Scope *S,
 
     // FIXME: What follows is a slightly less gross hack than what used to 
     // follow.
-    if (FunctionDecl *FD = dyn_cast<FunctionDecl>(IIDecl)) {
-      if (FD->getDescribedFunctionTemplate()) {
-        TemplateResult = TemplateTy::make(FD);
-        return TNK_Function_template;
-      }
-    } else if (OverloadedFunctionDecl *Ovl 
-                 = dyn_cast<OverloadedFunctionDecl>(IIDecl)) {
+    if (OverloadedFunctionDecl *Ovl 
+          = dyn_cast<OverloadedFunctionDecl>(IIDecl)) {
       for (OverloadedFunctionDecl::function_iterator F = Ovl->function_begin(),
                                                   FEnd = Ovl->function_end();
            F != FEnd; ++F) {
index 26a6a1d..e625009 100644 (file)
@@ -325,7 +325,7 @@ template<class T1, class T2, int I> class A<T1*, T2, I> { }; //#3
 template<class T> class A<int, T*, 5> { }; //#4 
 template<class T1, class T2, int I> class A<T1, T2*, I> { }; //#5 
 
-// Redeclaration of class template partial specializations
+// Redefinition of class template partial specializations
 template<typename T, T N, typename U> class A0;
 
 template<typename T, T N> class A0<T, N, int> { }; // expected-note{{here}}