https://github.com/imdj created https://github.com/llvm/llvm-project/pull/146859

Fix crash when ConditionBRVisitor::VisitTerminator is faced with `if consteval` 
which doesn't have the expected traditional condition

Close
- #139130

>From 1077e164158965e824097542dc4c3ecc8821d6dc Mon Sep 17 00:00:00 2001
From: Imad Aldij <o...@imadij.com>
Date: Thu, 3 Jul 2025 13:50:55 +0300
Subject: [PATCH] Add support for consteval if in ConditionBRVisitor

---
 clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp 
b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
index 3686bd4488877..d81a3f5a2858b 100644
--- a/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
+++ b/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
@@ -2794,6 +2794,9 @@ PathDiagnosticPieceRef 
ConditionBRVisitor::VisitTerminator(
   default:
     return nullptr;
   case Stmt::IfStmtClass:
+    // Handle if consteval which doesn't have a traditional condition
+    if (cast<IfStmt>(Term)->isConsteval())
+      return nullptr;
     Cond = cast<IfStmt>(Term)->getCond();
     break;
   case Stmt::ConditionalOperatorClass:

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

Reply via email to