[clang] [Clang] Instantiate functions from constant evaluation. (PR #205557)

Corentin Jabot via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 24 07:18:42 PDT 2026


================
@@ -2580,7 +2582,10 @@ VarDecl::evaluateValueImpl(SmallVectorImpl<PartialDiagnosticAt> *Notes,
   Expr::EvalResult EStatus;
   EStatus.Diag = Notes;
   bool Result =
-      Init->EvaluateAsInitializer(Ctx, this, EStatus, IsConstantInitialization);
+      isConstexpr() ?
+        Init->EvaluateAsMandatedConstantInitializer(EStatus, Ctx, *SP, this)
+      : Init->EvaluateAsInitializer(Ctx, this, EStatus,
+                                    IsConstantInitialization);
----------------
cor3ntin wrote:

Just passing a SemaProxy when there is one seems much easier...

https://github.com/llvm/llvm-project/pull/205557


More information about the cfe-commits mailing list