https://github.com/w007878 created 
https://github.com/llvm/llvm-project/pull/203736

fixes #203701

>From c5bf40cb6076c5a20bad7eb7997844236b360545 Mon Sep 17 00:00:00 2001
From: Fan Mo <[email protected]>
Date: Sat, 13 Jun 2026 20:33:20 -0500
Subject: [PATCH] fix: use getDeclName in static assert failed boolean
 condition printer

---
 clang/lib/Sema/SemaTemplate.cpp      |  2 +-
 clang/test/SemaCXX/static-assert.cpp | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 8c94a1ad39208..41664f36dd6a3 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -3647,7 +3647,7 @@ class FailedBooleanConditionPrinterHelper : public 
PrinterHelper {
       DR->getQualifier().print(OS, Policy, true);
       // Then print the decl itself.
       const ValueDecl *VD = DR->getDecl();
-      OS << VD->getName();
+      OS << VD->getDeclName();
       if (const auto *IV = dyn_cast<VarTemplateSpecializationDecl>(VD)) {
         // This is a template variable, print the expanded template arguments.
         printTemplateArgumentList(
diff --git a/clang/test/SemaCXX/static-assert.cpp 
b/clang/test/SemaCXX/static-assert.cpp
index 354016db36432..f9c6378ecc396 100644
--- a/clang/test/SemaCXX/static-assert.cpp
+++ b/clang/test/SemaCXX/static-assert.cpp
@@ -364,3 +364,17 @@ namespace Diagnostics {
   static_assert(1 << 3 != 8, ""); // expected-error {{failed}} \
                                  // expected-note {{evaluates to '8 != 8'}}
 }
+
+namespace GH203701 {
+  struct S {
+    constexpr S(auto) {}
+    constexpr operator int() const { return 0; }
+    constexpr static f() const { return 0; }
+  };
+
+  constexpr auto a = [](this S) { return 1; };
+
+  static_assert((&decltype(a)::operator())(1) == 42); // expected-error 
{{static assertion failed}}
+  static_assert((&S::operator int) == nullptr, ""); // expected-error {{static 
assertion failed}}
+  static_assert((S::f() == 1)); // expected-error {{static assertion failed}}
+}

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to