llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tools-extra @llvm/pr-subscribers-clang Author: None (R-Goc) <details> <summary>Changes</summary> …licit object parameter (#<!-- -->117841)" This reverts commit 9ccde12f5eeb91152900082a2ae839e2a9702b31 Because of https://github.com/llvm/llvm-project/issues/126720. --- Full diff: https://github.com/llvm/llvm-project/pull/126789.diff 4 Files Affected: - (modified) clang-tools-extra/clangd/unittests/XRefsTests.cpp (-10) - (modified) clang/lib/AST/Expr.cpp (-8) - (modified) clang/lib/Sema/SemaOverload.cpp (+1-1) - (modified) clang/test/AST/ast-dump-cxx2b-deducing-this.cpp (+2-2) ``````````diff diff --git a/clang-tools-extra/clangd/unittests/XRefsTests.cpp b/clang-tools-extra/clangd/unittests/XRefsTests.cpp index 7d824d659ad2c..d393c72974d44 100644 --- a/clang-tools-extra/clangd/unittests/XRefsTests.cpp +++ b/clang-tools-extra/clangd/unittests/XRefsTests.cpp @@ -1019,15 +1019,6 @@ TEST(LocateSymbol, All) { void *Value; void *getPointer() const { return Info::get^Pointer(Value); } }; - )cpp", - R"cpp(// Deducing this - struct S { - int bar(this S&); - }; - void foo() { - S [[waldo]]; - int x = wa^ldo.bar(); - } )cpp"}; for (const char *Test : Tests) { Annotations T(Test); @@ -1044,7 +1035,6 @@ TEST(LocateSymbol, All) { TU.Code = std::string(T.code()); TU.ExtraArgs.push_back("-xobjective-c++"); - TU.ExtraArgs.push_back("-std=c++23"); auto AST = TU.build(); auto Results = locateSymbolAt(AST, T.point()); diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index 5331357b5d1fe..5084b531ef37e 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -1638,19 +1638,11 @@ SourceLocation CallExpr::getBeginLoc() const { if (const auto *OCE = dyn_cast<CXXOperatorCallExpr>(this)) return OCE->getBeginLoc(); - if (const auto *Method = - dyn_cast_if_present<const CXXMethodDecl>(getCalleeDecl()); - Method && Method->isExplicitObjectMemberFunction()) { - assert(getNumArgs() > 0 && getArg(0)); - return getArg(0)->getBeginLoc(); - } - SourceLocation begin = getCallee()->getBeginLoc(); if (begin.isInvalid() && getNumArgs() > 0 && getArg(0)) begin = getArg(0)->getBeginLoc(); return begin; } - SourceLocation CallExpr::getEndLoc() const { if (const auto *OCE = dyn_cast<CXXOperatorCallExpr>(this)) return OCE->getEndLoc(); diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 34c287926b1d7..f9f2b1dfa5f5a 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -15606,7 +15606,7 @@ ExprResult Sema::BuildCallToMemberFunction(Scope *S, Expr *MemExprE, // Build the actual expression node. ExprResult FnExpr = CreateFunctionRefExpr(*this, Method, FoundDecl, MemExpr, - HadMultipleCandidates, MemExpr->getExprLoc()); + HadMultipleCandidates, MemExpr->getBeginLoc()); if (FnExpr.isInvalid()) return ExprError(); diff --git a/clang/test/AST/ast-dump-cxx2b-deducing-this.cpp b/clang/test/AST/ast-dump-cxx2b-deducing-this.cpp index 1b385e0fc3331..04cff07376885 100644 --- a/clang/test/AST/ast-dump-cxx2b-deducing-this.cpp +++ b/clang/test/AST/ast-dump-cxx2b-deducing-this.cpp @@ -9,7 +9,7 @@ int main() { S s; int x = s.f(); // CHECK: CallExpr 0x{{[^ ]*}} <col:11, col:15> 'int - // CHECK-NEXT: |-ImplicitCastExpr 0x{{[^ ]*}} <col:13> 'int (*)(S &)' <FunctionToPointerDecay> - // CHECK-NEXT: | `-DeclRefExpr 0x{{[^ ]*}} <col:13> 'int (S &)' lvalue CXXMethod 0x{{[^ ]*}} 'f' 'int (S &)' + // CHECK-NEXT: |-ImplicitCastExpr 0x{{[^ ]*}} <col:11> 'int (*)(S &)' <FunctionToPointerDecay> + // CHECK-NEXT: | `-DeclRefExpr 0x{{[^ ]*}} <col:11> 'int (S &)' lvalue CXXMethod 0x{{[^ ]*}} 'f' 'int (S &)' } } `````````` </details> https://github.com/llvm/llvm-project/pull/126789 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits