[clang] [clang] Respect `CLANG_USE_EXPERIMENTAL_CONST_INTERP` (PR #200716)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 1 07:58:59 PDT 2026
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/200716 at github.com>
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/200716
>From 5b4276735c57610f954c9db297357e54a6cdaf4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Mon, 1 Jun 2026 07:17:53 +0200
Subject: [PATCH 1/2] asdf
---
clang/lib/Driver/ToolChains/Clang.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 7657afb14f077..f408dd1c9d5c8 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -6680,7 +6680,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.AddLastArg(CmdArgs, options::OPT_fexperimental_library);
- if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter))
+ if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter) ||
+ CLANG_USE_EXPERIMENTAL_CONST_INTERP)
CmdArgs.push_back("-fexperimental-new-constant-interpreter");
if (Arg *A = Args.getLastArg(options::OPT_fbracket_depth_EQ)) {
>From ab9cebf2d0d7d38f01c3433c43eb18eba5fddb47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Mon, 1 Jun 2026 16:58:34 +0200
Subject: [PATCH 2/2] set it in ExecuteCompilerInvocation instead.
---
clang/lib/Driver/ToolChains/Clang.cpp | 3 +--
clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index f408dd1c9d5c8..7657afb14f077 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -6680,8 +6680,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
Args.AddLastArg(CmdArgs, options::OPT_fexperimental_library);
- if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter) ||
- CLANG_USE_EXPERIMENTAL_CONST_INTERP)
+ if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter))
CmdArgs.push_back("-fexperimental-new-constant-interpreter");
if (Arg *A = Args.getLastArg(options::OPT_fbracket_depth_EQ)) {
diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
index e4622496758ac..db92c7af4276c 100644
--- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
@@ -184,6 +184,8 @@ CreateFrontendAction(CompilerInstance &CI) {
const FrontendOptions &FEOpts = CI.getFrontendOpts();
+ CI.getLangOpts().EnableNewConstInterp = CLANG_USE_EXPERIMENTAL_CONST_INTERP;
+
if (CI.getLangOpts().HLSL)
Act = std::make_unique<HLSLFrontendAction>(std::move(Act));
More information about the cfe-commits
mailing list