forked from OSchip/llvm-project
Remove an obsolete kludge based on the previous, completely broken handling of function templates
llvm-svn: 77464
This commit is contained in:
parent
b55d8e914a
commit
ab60c7f60b
|
@ -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) {
|
||||
|
|
|
@ -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}}
|
||||
|
|
Loading…
Reference in New Issue