https://github.com/tbaederr created https://github.com/llvm/llvm-project/pull/130498
The Info.EnableNewConstInterp case is already handled above. >From c3a736fbd6f6844053c31fc4599053d1ed647706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbae...@redhat.com> Date: Sun, 9 Mar 2025 18:05:48 +0100 Subject: [PATCH] [clang][NFC] Clean up Expr::EvaluateAsConstantExpr The Info.EnableNewConstInterp case is already handled above. --- clang/lib/AST/ExprConstant.cpp | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index d9a1e5bb42343..759df64da6215 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -16892,24 +16892,19 @@ bool Expr::EvaluateAsConstantExpr(EvalResult &Result, const ASTContext &Ctx, APValue::LValueBase Base(&BaseMTE); Info.setEvaluatingDecl(Base, Result.Val); - if (Info.EnableNewConstInterp) { - if (!Info.Ctx.getInterpContext().evaluateAsRValue(Info, this, Result.Val)) - return false; - } else { - LValue LVal; - LVal.set(Base); - // C++23 [intro.execution]/p5 - // A full-expression is [...] a constant-expression - // So we need to make sure temporary objects are destroyed after having - // evaluating the expression (per C++23 [class.temporary]/p4). - FullExpressionRAII Scope(Info); - if (!::EvaluateInPlace(Result.Val, Info, LVal, this) || - Result.HasSideEffects || !Scope.destroy()) - return false; + LValue LVal; + LVal.set(Base); + // C++23 [intro.execution]/p5 + // A full-expression is [...] a constant-expression + // So we need to make sure temporary objects are destroyed after having + // evaluating the expression (per C++23 [class.temporary]/p4). + FullExpressionRAII Scope(Info); + if (!::EvaluateInPlace(Result.Val, Info, LVal, this) || + Result.HasSideEffects || !Scope.destroy()) + return false; - if (!Info.discardCleanups()) - llvm_unreachable("Unhandled cleanup; missing full expression marker?"); - } + if (!Info.discardCleanups()) + llvm_unreachable("Unhandled cleanup; missing full expression marker?"); if (!CheckConstantExpression(Info, getExprLoc(), getStorageType(Ctx, this), Result.Val, Kind)) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits