https://github.com/term-est updated 
https://github.com/llvm/llvm-project/pull/148695

>From d8979bee2b37fcadb7a91ae2481c611094e6c164 Mon Sep 17 00:00:00 2001
From: term-est <eurasia.s...@gmail.com>
Date: Mon, 14 Jul 2025 21:07:58 +0300
Subject: [PATCH] Fix an issue where we erroneously diagnose a `[[noreturn]]`
 function with `warn_suggest_noreturn_function`

---
 clang/lib/Sema/SemaDeclAttr.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 099207727c8c8..43262d7cb50a8 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -1976,8 +1976,8 @@ void clang::inferNoReturnAttr(Sema &S, const Decl *D) {
       Diags.isIgnored(diag::warn_suggest_noreturn_function, FD->getLocation()))
     return;
 
-  if (!FD->hasAttr<NoReturnAttr>() && !FD->hasAttr<InferredNoReturnAttr>() &&
-      isKnownToAlwaysThrow(FD)) {
+  if (!FD->hasAttr<NoReturnAttr>() && !FD->hasAttr<CXX11NoReturnAttr>() &&
+      !FD->hasAttr<InferredNoReturnAttr>() && isKnownToAlwaysThrow(FD)) {
     NonConstFD->addAttr(InferredNoReturnAttr::CreateImplicit(S.Context));
 
     // Emit a diagnostic suggesting the function being marked [[noreturn]].

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to