[clang] [clang] Remove Diag parameter from Expr::EvaluateKnownConstInt (PR #159512)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 17 23:20:20 PDT 2025
https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/159512
If it's truly a known const int, it won't emit any diagnostics anyway. And if it did, we wouldn't notice because no call site passed something non-null.
>From a4225f17a52c50239cf6ca82214adf546325708d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Thu, 18 Sep 2025 08:17:47 +0200
Subject: [PATCH] [clang] Remove Diag parameter from
Expr::EvaluateKnownConstInt
If it's truly a known const int, it won't emit any diagnostics anyway.
And if it did, we wouldn't notice because the parameter was never set to
anything.
---
clang/include/clang/AST/Expr.h | 4 +---
clang/lib/AST/ExprConstant.cpp | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/clang/include/clang/AST/Expr.h b/clang/include/clang/AST/Expr.h
index 7554089810336..d99d683d66eab 100644
--- a/clang/include/clang/AST/Expr.h
+++ b/clang/include/clang/AST/Expr.h
@@ -715,9 +715,7 @@ class Expr : public ValueStmt {
/// EvaluateKnownConstInt - Call EvaluateAsRValue and return the folded
/// integer. This must be called on an expression that constant folds to an
/// integer.
- llvm::APSInt EvaluateKnownConstInt(
- const ASTContext &Ctx,
- SmallVectorImpl<PartialDiagnosticAt> *Diag = nullptr) const;
+ llvm::APSInt EvaluateKnownConstInt(const ASTContext &Ctx) const;
llvm::APSInt EvaluateKnownConstIntCheckOverflow(
const ASTContext &Ctx,
diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp
index 12e4e25bd29c4..6b304ebfdba07 100644
--- a/clang/lib/AST/ExprConstant.cpp
+++ b/clang/lib/AST/ExprConstant.cpp
@@ -17863,14 +17863,12 @@ bool Expr::isEvaluatable(const ASTContext &Ctx, SideEffectsKind SEK) const {
!hasUnacceptableSideEffect(Result, SEK);
}
-APSInt Expr::EvaluateKnownConstInt(const ASTContext &Ctx,
- SmallVectorImpl<PartialDiagnosticAt> *Diag) const {
+APSInt Expr::EvaluateKnownConstInt(const ASTContext &Ctx) const {
assert(!isValueDependent() &&
"Expression evaluator can't be called on a dependent expression.");
ExprTimeTraceScope TimeScope(this, Ctx, "EvaluateKnownConstInt");
EvalResult EVResult;
- EVResult.Diag = Diag;
EvalInfo Info(Ctx, EVResult, EvaluationMode::IgnoreSideEffects);
Info.InConstantContext = true;
More information about the cfe-commits
mailing list