Home | History | Annotate | Download | only in Sema

Lines Matching full:cand1

8441 // Determines whether Cand1 is "better" in terms of its enable_if attrs than
8443 // on Cand1 and Cand2 have conditions that evaluate to true.
8445 // Cand1's set of enable_if attributes are said to be "better" than Cand2's iff
8446 // Cand1's first N enable_if attributes have precisely the same conditions as
8448 // attributes on Cand2), and Cand1 has more than N enable_if attributes.
8449 static bool hasBetterEnableIfAttrs(Sema &S, const FunctionDecl *Cand1,
8455 auto Cand1Attrs = getOrderedEnableIfAttrs(Cand1);
8481 bool clang::isBetterOverloadCandidate(Sema &S, const OverloadCandidate &Cand1,
8488 return Cand1.Viable;
8489 else if (!Cand1.Viable)
8499 if (Cand1.IgnoreObjectArgument || Cand2.IgnoreObjectArgument)
8506 unsigned NumArgs = Cand1.NumConversions;
8511 Cand1.Conversions[ArgIdx],
8514 // Cand1 has a better conversion sequence.
8519 // Cand1 can't be better than Cand2.
8539 if (UserDefinedConversion && Cand1.Function && Cand2.Function &&
8540 isa<CXXConversionDecl>(Cand1.Function) &&
8547 compareConversionFunctions(S, Cand1.Function, Cand2.Function);
8550 Cand1.FinalConversion,
8563 bool Cand1IsSpecialization = Cand1.Function &&
8564 Cand1.Function->getPrimaryTemplate();
8576 = S.getMoreSpecializedTemplate(Cand1.Function->getPrimaryTemplate(),
8579 isa<CXXConversionDecl>(Cand1.Function)? TPOC_Conversion
8581 Cand1.ExplicitCallArguments,
8583 return BetterTemplate == Cand1.Function->getPrimaryTemplate();
8587 if (Cand1.Function && Cand2.Function &&
8588 (Cand1.Function->hasAttr<EnableIfAttr>() ||
8590 return hasBetterEnableIfAttrs(S, Cand1.Function, Cand2.Function);
8593 Cand1.Function && Cand2.Function) {
8595 return S.IdentifyCUDAPreference(Caller, Cand1.Function) >
8599 bool HasPS1 = Cand1.Function != nullptr &&
8600 functionHasPassObjectSizeParams(Cand1.Function);