https://github.com/tru updated https://github.com/llvm/llvm-project/pull/100407
>From 07e9f01f8935c0006bdaf209acdce29cda7685d3 Mon Sep 17 00:00:00 2001 From: cor3ntin <corentinja...@gmail.com> Date: Wed, 24 Jul 2024 17:28:44 +0200 Subject: [PATCH] [Clang] Fix an assertion failure introduced by #93430 (#100313) The PR #93430 introduced an assertion that did not make any sense. and caused a regression. The fix is to simply remove the assertion. No changelog. the intent is to backport this fix to clang 19. (cherry picked from commit dd82a84e0eeafb017c7220c4a9fbd0a8a407f8a9) --- clang/lib/Sema/SemaExpr.cpp | 1 - clang/test/SemaCXX/cxx2b-deducing-this.cpp | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp index 9207bf7a41349..206194930f3b4 100644 --- a/clang/lib/Sema/SemaExpr.cpp +++ b/clang/lib/Sema/SemaExpr.cpp @@ -5730,7 +5730,6 @@ static bool isParenthetizedAndQualifiedAddressOfExpr(Expr *Fn) { if (!UO || UO->getOpcode() != clang::UO_AddrOf) return false; if (auto *DRE = dyn_cast<DeclRefExpr>(UO->getSubExpr()->IgnoreParens())) { - assert(isa<FunctionDecl>(DRE->getDecl()) && "expected a function"); return DRE->hasQualifier(); } if (auto *OVL = dyn_cast<OverloadExpr>(UO->getSubExpr()->IgnoreParens())) diff --git a/clang/test/SemaCXX/cxx2b-deducing-this.cpp b/clang/test/SemaCXX/cxx2b-deducing-this.cpp index 5cbc1f735383b..4811b6052254c 100644 --- a/clang/test/SemaCXX/cxx2b-deducing-this.cpp +++ b/clang/test/SemaCXX/cxx2b-deducing-this.cpp @@ -895,6 +895,10 @@ void g() { } namespace P2797 { + +int bar(void) { return 55; } +int (&fref)(void) = bar; + struct C { void c(this const C&); // #first void c() &; // #second @@ -915,6 +919,8 @@ struct C { (&C::c)(C{}); (&C::c)(*this); // expected-error {{call to non-static member function without an object argument}} (&C::c)(); + + (&fref)(); } }; } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits