Remove an obsolete kludge based on the previous, completely broken handling of function templates

llvm-svn: 77464
This commit is contained in:
Douglas Gregor 2009-07-29 16:15:53 +00:00
parent b55d8e914a
commit ab60c7f60b
2 changed files with 3 additions and 8 deletions

View 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) {

View 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}}