From: Richard Smith Date: Tue, 10 Sep 2013 22:59:25 +0000 (+0000) Subject: getMostSpecialized for function template sets is never used in the context of a X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4ad09e6281a0b32a0705807159649bb81cb2b1e9;p=clang getMostSpecialized for function template sets is never used in the context of a call; remove its 'number of explicit arguments' and 'what kind of call' parameters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190444 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h index bcae1037ad..3e5f462566 100644 --- a/include/clang/Sema/Sema.h +++ b/include/clang/Sema/Sema.h @@ -5836,8 +5836,7 @@ public: UnresolvedSetIterator getMostSpecialized(UnresolvedSetIterator SBegin, UnresolvedSetIterator SEnd, TemplateSpecCandidateSet &FailedCandidates, - TemplatePartialOrderingContext TPOC, - unsigned NumCallArguments, SourceLocation Loc, + SourceLocation Loc, const PartialDiagnostic &NoneDiag, const PartialDiagnostic &AmbigDiag, const PartialDiagnostic &CandidateDiag, diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp index 7e4e17ba9e..ea4fe10eac 100644 --- a/lib/Sema/SemaOverload.cpp +++ b/lib/Sema/SemaOverload.cpp @@ -9491,7 +9491,7 @@ private: // TODO: It looks like FailedCandidates does not serve much purpose // here, since the no_viable diagnostic has index 0. UnresolvedSetIterator Result = S.getMostSpecialized( - MatchesCopy.begin(), MatchesCopy.end(), FailedCandidates, TPOC_Other, 0, + MatchesCopy.begin(), MatchesCopy.end(), FailedCandidates, SourceExpr->getLocStart(), S.PDiag(), S.PDiag(diag::err_addr_ovl_ambiguous) << Matches[0] .second->getDeclName(), diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index d3223356ba..c5b97d608e 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -6456,7 +6456,7 @@ bool Sema::CheckFunctionTemplateSpecialization( // Find the most specialized function template. UnresolvedSetIterator Result = getMostSpecialized( - Candidates.begin(), Candidates.end(), FailedCandidates, TPOC_Other, 0, + Candidates.begin(), Candidates.end(), FailedCandidates, FD->getLocation(), PDiag(diag::err_function_template_spec_no_match) << FD->getDeclName(), PDiag(diag::err_function_template_spec_ambiguous) @@ -7384,7 +7384,7 @@ DeclResult Sema::ActOnExplicitInstantiation(Scope *S, // Find the most specialized function template specialization. UnresolvedSetIterator Result = getMostSpecialized( - Matches.begin(), Matches.end(), FailedCandidates, TPOC_Other, 0, + Matches.begin(), Matches.end(), FailedCandidates, D.getIdentifierLoc(), PDiag(diag::err_explicit_instantiation_not_known) << Name, PDiag(diag::err_explicit_instantiation_ambiguous) << Name, diff --git a/lib/Sema/SemaTemplateDeduction.cpp b/lib/Sema/SemaTemplateDeduction.cpp index 47d8e162c8..30788c4569 100644 --- a/lib/Sema/SemaTemplateDeduction.cpp +++ b/lib/Sema/SemaTemplateDeduction.cpp @@ -4311,7 +4311,6 @@ static bool isSameTemplate(TemplateDecl *T1, TemplateDecl *T2) { UnresolvedSetIterator Sema::getMostSpecialized( UnresolvedSetIterator SpecBegin, UnresolvedSetIterator SpecEnd, TemplateSpecCandidateSet &FailedCandidates, - TemplatePartialOrderingContext TPOC, unsigned NumCallArguments, SourceLocation Loc, const PartialDiagnostic &NoneDiag, const PartialDiagnostic &AmbigDiag, const PartialDiagnostic &CandidateDiag, bool Complain, QualType TargetType) { @@ -4337,7 +4336,7 @@ UnresolvedSetIterator Sema::getMostSpecialized( = cast(*I)->getPrimaryTemplate(); assert(Challenger && "Not a function template specialization?"); if (isSameTemplate(getMoreSpecializedTemplate(BestTemplate, Challenger, - Loc, TPOC, NumCallArguments), + Loc, TPOC_Other, 0), Challenger)) { Best = I; BestTemplate = Challenger; @@ -4352,7 +4351,7 @@ UnresolvedSetIterator Sema::getMostSpecialized( = cast(*I)->getPrimaryTemplate(); if (I != Best && !isSameTemplate(getMoreSpecializedTemplate(BestTemplate, Challenger, - Loc, TPOC, NumCallArguments), + Loc, TPOC_Other, 0), BestTemplate)) { Ambiguous = true; break;