[clang] [NFC][BoundsSafety] Fold a dyn_cast + assert, and sink to first use (PR #194847)

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 29 05:53:25 PDT 2026


https://github.com/zmodem created https://github.com/llvm/llvm-project/pull/194847

None

>From c05f5616339ae9e5842d6b6196acea35a78fb4ef Mon Sep 17 00:00:00 2001
From: Hans Wennborg <hans at chromium.org>
Date: Wed, 29 Apr 2026 14:43:09 +0200
Subject: [PATCH] [NFC][BoundsSafety] Fold a dyn_cast + assert, and sink to
 first use

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

diff --git a/clang/lib/Sema/SemaDeclAttr.cpp b/clang/lib/Sema/SemaDeclAttr.cpp
index 76073ed80175f..690016ea1bbb5 100644
--- a/clang/lib/Sema/SemaDeclAttr.cpp
+++ b/clang/lib/Sema/SemaDeclAttr.cpp
@@ -6899,9 +6899,6 @@ static void handleNoPFPAttrField(Sema &S, Decl *D, const ParsedAttr &AL) {
 }
 
 static void handleCountedByAttrField(Sema &S, Decl *D, const ParsedAttr &AL) {
-  auto *FD = dyn_cast<FieldDecl>(D);
-  assert(FD);
-
   auto *CountExpr = AL.getArgAsExpr(0);
   if (!CountExpr)
     return;
@@ -6929,6 +6926,7 @@ static void handleCountedByAttrField(Sema &S, Decl *D, const ParsedAttr &AL) {
     llvm_unreachable("unexpected counted_by family attribute");
   }
 
+  FieldDecl *FD = cast<FieldDecl>(D);
   if (S.CheckCountedByAttrOnField(FD, CountExpr, CountInBytes, OrNull))
     return;
 



More information about the cfe-commits mailing list