Home | History | Annotate | Download | only in Sema

Lines Matching refs:Best

1168     // C++ [over.best.ics]p4:
1685 // C++ [over.best.ics]p6:
2985 OverloadCandidateSet::iterator Best;
2986 switch (CandidateSet.BestViableFunction(S, From->getLocStart(), Best, true)) {
2989 CXXConstructorDecl *Constructor = cast<CXXConstructorDecl>(Best->Function);
2995 User.FoundConversionFunction = Best->FoundDecl;
3174 OverloadCandidateSet::iterator Best;
3175 switch (CandidateSet.BestViableFunction(S, From->getLocStart(), Best, true)) {
3179 = dyn_cast<CXXConstructorDecl>(Best->Function)) {
3191 if (Best->Conversions[0].isEllipsis())
3194 User.Before = Best->Conversions[0].Standard;
3200 User.FoundConversionFunction = Best->FoundDecl;
3207 = dyn_cast<CXXConversionDecl>(Best->Function)) {
3214 User.Before = Best->Conversions[0].Standard;
3217 User.FoundConversionFunction = Best->FoundDecl;
3226 // selecting the best user-defined conversion for a
3229 User.After = Best->FinalConversion;
3328 // C++0x [over.best.ics]p10:
3336 // the best viable function. Otherwise, this conversion is considered worse
3344 // In C++03, we pick #2 as the best viable function.
3345 // In C++11, we pick #1 as the best viable function, because ellipsis
3348 // convert arguments, #2 would be the best viable function in C++11.
3349 // If the best viable function has this conversion, a warning will be issued
4150 OverloadCandidateSet::iterator Best;
4151 switch (CandidateSet.BestViableFunction(S, DeclLoc, Best, true)) {
4163 if (!Best->FinalConversion.DirectBinding)
4167 ICS.UserDefined.Before = Best->Conversions[0].Standard;
4168 ICS.UserDefined.After = Best->FinalConversion;
4170 ICS.UserDefined.ConversionFunction = Best->Function;
4171 ICS.UserDefined.FoundConversionFunction = Best->FoundDecl;
4275 // [over.best.ics]p2).
4284 // conversion functions (13.3.1.6) and choosing the best
4536 // resolution chooses a single best constructor [...] the implicit
5431 OverloadCandidateSet::iterator Best;
5432 switch (CandidateSet.BestViableFunction(*this, Loc, Best)) {
5436 DeclAccessPair::make(Best->Function, Best->FoundDecl.getAccess());
8200 // C++ [over.match.best]p1:
8210 // C++ [over.match.best]p1:
8266 // C++14 [over.match.best]p1 section 2 bullet 3.
8342 /// \brief Computes the best viable function (C++ 13.3.3)
8348 /// \param Best If overload resolution was successful or found a deleted
8349 /// function, \p Best points to the candidate function found.
8354 iterator &Best,
8356 // Find the best viable function.
8357 Best = end();
8360 if (Best == end() || isBetterOverloadCandidate(S, *Cand, *Best, Loc,
8362 Best = Cand;
8366 if (Best == end())
8373 Cand != Best &&
8374 !isBetterOverloadCandidate(S, *Best, *Cand, Loc,
8376 Best = end();
8381 // Best is the best viable function.
8382 if (Best->Function &&
8383 (Best->Function->isDeleted() ||
8384 S.isFunctionConsideredUnavailable(Best->Function)))
9853 // best viable function in an overload set) that identifies the
9854 // best function template (if it exists).
10327 OverloadCandidateSet::iterator Best;
10328 if (Candidates.BestViableFunction(SemaRef, FnLoc, Best) != OR_Success) {
10366 SemaRef.Diag(Best->Function->getLocation(),
10370 SemaRef.Diag(Best->Function->getLocation(),
10377 SemaRef.Diag(Best->Function->getLocation(),
10569 OverloadCandidateSet::iterator *Best,
10579 FunctionDecl *FDecl = (*Best)->Function;
10580 SemaRef.CheckUnresolvedLookupAccess(ULE, (*Best)->FoundDecl);
10583 Fn = SemaRef.FixOverloadedFunctionReference(Fn, (*Best)->FoundDecl, FDecl);
10613 << (*Best)->Function->isDeleted()
10615 << SemaRef.getDeletedOrUnavailableSuffix((*Best)->Function)
10621 FunctionDecl *FDecl = (*Best)->Function;
10622 Fn = SemaRef.FixOverloadedFunctionReference(Fn, (*Best)->FoundDecl, FDecl);
10653 OverloadCandidateSet::iterator Best;
10655 CandidateSet.BestViableFunction(*this, Fn->getLocStart(), Best);
10659 &Best, OverloadResult,
10750 OverloadCandidateSet::iterator Best;
10751 switch (CandidateSet.BestViableFunction(*this, OpLoc, Best)) {
10754 FunctionDecl *FnDecl = Best->Function;
10762 CheckMemberOperatorAccess(OpLoc, Args[0], nullptr, Best->FoundDecl);
10766 Best->FoundDecl, Method);
10784 ExprResult FnExpr = CreateFunctionRefExpr(*this, FnDecl, Best->FoundDecl,
10808 PerformImplicitConversion(Input, Best->BuiltinTypes.ParamTypes[0],
10809 Best->Conversions[0], AA_Passing);
10840 << Best->Function->isDeleted()
10842 << getDeletedOrUnavailableSuffix(Best->Function)
10959 OverloadCandidateSet::iterator Best;
10960 switch (CandidateSet.BestViableFunction(*this, OpLoc, Best)) {
10963 FunctionDecl *FnDecl = Best->Function;
10971 // Best->Access is only meaningful for class members.
10972 CheckMemberOperatorAccess(OpLoc, Args[0], Args[1], Best->FoundDecl);
10984 Best->FoundDecl, Method);
11011 Best->FoundDecl,
11043 PerformImplicitConversion(Args[0], Best->BuiltinTypes.ParamTypes[0],
11044 Best->Conversions[0], AA_Passing);
11050 PerformImplicitConversion(Args[1], Best->BuiltinTypes.ParamTypes[1],
11051 Best->Conversions[1], AA_Passing);
11111 if (isImplicitlyDeleted(Best->Function)) {
11112 CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
11123 << Best->Function->isDeleted()
11125 << getDeletedOrUnavailableSuffix(Best->Function)
11186 OverloadCandidateSet::iterator Best;
11187 switch (CandidateSet.BestViableFunction(*this, LLoc, Best)) {
11190 FunctionDecl *FnDecl = Best->Function;
11196 CheckMemberOperatorAccess(LLoc, Args[0], Args[1], Best->FoundDecl);
11202 Best->FoundDecl, Method);
11223 Best->FoundDecl,
11250 PerformImplicitConversion(Args[0], Best->BuiltinTypes.ParamTypes[0],
11251 Best->Conversions[0], AA_Passing);
11257 PerformImplicitConversion(Args[1], Best->BuiltinTypes.ParamTypes[1],
11258 Best->Conversions[1], AA_Passing);
11292 << Best->Function->isDeleted() << "[]"
11293 << getDeletedOrUnavailableSuffix(Best->Function)
11441 OverloadCandidateSet::iterator Best;
11443 Best)) {
11445 Method = cast<CXXMethodDecl>(Best->Function);
11446 FoundDecl = Best->FoundDecl;
11447 CheckUnresolvedMemberAccess(UnresExpr, Best->FoundDecl);
11448 if (DiagnoseUseOfDecl(Best->FoundDecl, UnresExpr->getNameLoc()))
11478 << Best->Function->isDeleted()
11480 << getDeletedOrUnavailableSuffix(Best->Function)
11652 OverloadCandidateSet::iterator Best;
11654 Best)) {
11682 << Best->Function->isDeleted()
11684 << getDeletedOrUnavailableSuffix(Best->Function)
11690 if (Best == CandidateSet.end())
11695 if (Best->Function == nullptr) {
11700 Best->Conversions[0].UserDefined.ConversionFunction);
11703 Best->FoundDecl);
11704 if (DiagnoseUseOfDecl(Best->FoundDecl, LParenLoc))
11706 assert(Conv == Best->FoundDecl.getDecl() &&
11714 ExprResult Call = BuildCXXMemberCallExpr(Object.get(), Best->FoundDecl,
11726 CheckMemberOperatorAccess(LParenLoc, Object.get(), nullptr, Best->FoundDecl);
11731 CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
11745 ExprResult NewFn = CreateFunctionRefExpr(*this, Method, Best->FoundDecl,
11783 Best->FoundDecl, Method);
11859 // the operator is selected as the best match function by the
11883 OverloadCandidateSet::iterator Best;
11884 switch (CandidateSet.BestViableFunction(*this, OpLoc, Best)) {
11918 << Best->Function->isDeleted()
11920 << getDeletedOrUnavailableSuffix(Best->Function)
11926 CheckMemberOperatorAccess(OpLoc, Base, nullptr, Best->FoundDecl);
11929 CXXMethodDecl *Method = cast<CXXMethodDecl>(Best->Function);
11932 Best->FoundDecl, Method);
11938 ExprResult FnExpr = CreateFunctionRefExpr(*this, Method, Best->FoundDecl,
11974 OverloadCandidateSet::iterator Best;
11975 switch (CandidateSet.BestViableFunction(*this, UDSuffixLoc, Best)) {
11992 FunctionDecl *FD = Best->Function;
11993 ExprResult Fn = CreateFunctionRefExpr(*this, FD, Best->FoundDecl,
12081 OverloadCandidateSet::iterator Best;
12083 CandidateSet->BestViableFunction(*this, Fn->getLocStart(), Best);
12090 Loc, nullptr, CandidateSet, &Best,