diff options
author | Roy Jacobson <roi.jacobson1@gmail.com> | 2022-04-19 07:51:21 -0400 |
---|---|---|
committer | Roy Jacobson <roi.jacobson1@gmail.com> | 2022-04-19 07:51:21 -0400 |
commit | 76410040b9f391185c7df48c14519860e1cf75e5 (patch) | |
tree | fbffbcb38cb37c5ca298068b999e6c1c4cfa3ac7 /clang/lib/Sema/SemaTemplateDeduction.cpp | |
parent | a65f2730d291e83f4fa39d3cb104b36c86f36e73 (diff) | |
download | llvm-76410040b9f391185c7df48c14519860e1cf75e5.zip llvm-76410040b9f391185c7df48c14519860e1cf75e5.tar.gz llvm-76410040b9f391185c7df48c14519860e1cf75e5.tar.bz2 |
Revert "[Concepts] Fix overload resolution bug with constrained candidates"
This reverts commit 454d1df9423c95e54c3a2f5cb58d864096032d09.
Diffstat (limited to 'clang/lib/Sema/SemaTemplateDeduction.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateDeduction.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index 0662dd7..cb273aa 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -5143,20 +5143,18 @@ static bool isVariadicFunctionTemplate(FunctionTemplateDecl *FunTmpl) { /// candidate with a reversed parameter order. In this case, the corresponding /// P/A pairs between FT1 and FT2 are reversed. /// -/// \param AllowOrderingByConstraints If \c is false, don't check whether one -/// of the templates is more constrained than the other. Default is true. -/// /// \returns the more specialized function template. If neither /// template is more specialized, returns NULL. -FunctionTemplateDecl *Sema::getMoreSpecializedTemplate( - FunctionTemplateDecl *FT1, FunctionTemplateDecl *FT2, SourceLocation Loc, - TemplatePartialOrderingContext TPOC, unsigned NumCallArguments1, - unsigned NumCallArguments2, bool Reversed, - bool AllowOrderingByConstraints) { - - auto JudgeByConstraints = [&]() -> FunctionTemplateDecl * { - if (!AllowOrderingByConstraints) - return nullptr; +FunctionTemplateDecl * +Sema::getMoreSpecializedTemplate(FunctionTemplateDecl *FT1, + FunctionTemplateDecl *FT2, + SourceLocation Loc, + TemplatePartialOrderingContext TPOC, + unsigned NumCallArguments1, + unsigned NumCallArguments2, + bool Reversed) { + + auto JudgeByConstraints = [&] () -> FunctionTemplateDecl * { llvm::SmallVector<const Expr *, 3> AC1, AC2; FT1->getAssociatedConstraints(AC1); FT2->getAssociatedConstraints(AC2); |