llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: cor3ntin (cor3ntin) <details> <summary>Changes</summary> Fixes #<!-- -->75732 --- Full diff: https://github.com/llvm/llvm-project/pull/75913.diff 2 Files Affected: - (modified) clang/lib/Sema/SemaExprMember.cpp (+2) - (modified) clang/test/SemaCXX/cxx2b-deducing-this.cpp (+10) ``````````diff diff --git a/clang/lib/Sema/SemaExprMember.cpp b/clang/lib/Sema/SemaExprMember.cpp index 473eea55bb6b19..0e932a1436d6e0 100644 --- a/clang/lib/Sema/SemaExprMember.cpp +++ b/clang/lib/Sema/SemaExprMember.cpp @@ -253,6 +253,8 @@ static void diagnoseInstanceReference(Sema &SemaRef, SemaRef.Diag(Loc, diag::err_member_call_without_object) << Range << /*static*/ 0; else { + if (auto *Tpl = dyn_cast<FunctionTemplateDecl>(Rep)) + Rep = Tpl->getTemplatedDecl(); const auto *Callee = dyn_cast<CXXMethodDecl>(Rep); auto Diag = SemaRef.Diag(Loc, diag::err_member_call_without_object) << Range << Callee->isExplicitObjectMemberFunction(); diff --git a/clang/test/SemaCXX/cxx2b-deducing-this.cpp b/clang/test/SemaCXX/cxx2b-deducing-this.cpp index 0033541fa322dc..aab35828096a8e 100644 --- a/clang/test/SemaCXX/cxx2b-deducing-this.cpp +++ b/clang/test/SemaCXX/cxx2b-deducing-this.cpp @@ -626,3 +626,13 @@ void test() { } } + + +namespace GH75732 { +auto serialize(auto&& archive, auto&& c){ } +struct D { + auto serialize(this auto&& self, auto&& archive) { + serialize(archive, self); // expected-error {{call to explicit member function without an object argument}} + } +}; +} `````````` </details> https://github.com/llvm/llvm-project/pull/75913 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits