Timm =?utf-8?q?Bäder?= <[email protected]>, Timm =?utf-8?q?Bäder?= <[email protected]> Message-ID: In-Reply-To: <llvm.org/llvm/llvm-project/pull/[email protected]>
https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/200716 >From a4009d8884f3d3f047d0f629b25f7e045ad3044b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <[email protected]> Date: Mon, 1 Jun 2026 07:17:53 +0200 Subject: [PATCH 1/3] 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 8a0efd70e6c0d..da74046cd4609 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -6668,7 +6668,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 e789b808669dcebddd07fad85120cd26c4457414 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <[email protected]> Date: Mon, 1 Jun 2026 16:58:34 +0200 Subject: [PATCH 2/3] set it in ExecuteCompilerInvocation instead. --- clang/lib/Driver/ToolChains/Clang.cpp | 3 +-- clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index da74046cd4609..8a0efd70e6c0d 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -6668,8 +6668,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..1375291556f11 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -184,6 +184,9 @@ CreateFrontendAction(CompilerInstance &CI) { const FrontendOptions &FEOpts = CI.getFrontendOpts(); + if (CLANG_USE_EXPERIMENTAL_CONST_INTERP) + CI.getLangOpts().EnableNewConstInterp = true; + if (CI.getLangOpts().HLSL) Act = std::make_unique<HLSLFrontendAction>(std::move(Act)); >From 94407097096440d3b1ba44acbdcc39a2b99d07f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= <[email protected]> Date: Sun, 7 Jun 2026 10:17:35 +0200 Subject: [PATCH 3/3] all work --- clang/include/clang/Options/Options.td | 8 ++++---- clang/lib/Driver/ToolChains/Clang.cpp | 11 +++++++++-- clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 3 --- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/clang/include/clang/Options/Options.td b/clang/include/clang/Options/Options.td index 4fd892e58df86..8041f982a9550 100644 --- a/clang/include/clang/Options/Options.td +++ b/clang/include/clang/Options/Options.td @@ -2162,10 +2162,10 @@ def fconstexpr_steps_EQ : Joined<["-"], "fconstexpr-steps=">, Group<f_Group>, Visibility<[ClangOption, CC1Option]>, HelpText<"Set the maximum number of steps in constexpr function evaluation (0 = no limit)">, MarshallingInfoInt<LangOpts<"ConstexprStepLimit">, "1048576">; -def fexperimental_new_constant_interpreter : Flag<["-"], "fexperimental-new-constant-interpreter">, Group<f_Group>, - HelpText<"Enable the experimental new constant interpreter">, - Visibility<[ClangOption, CC1Option]>, - MarshallingInfoFlag<LangOpts<"EnableNewConstInterp">>; +defm experimental_new_constant_interpreter : BoolFOption<"experimental-new-constant-interpreter", + LangOpts<"EnableNewConstInterp">, Default<"CLANG_USE_EXPERIMENTAL_CONST_INTERP">, + PosFlag<SetTrue, [], [ClangOption, CC1Option]>, + NegFlag<SetFalse, [], [ClangOption, CC1Option]>>; def fconstexpr_backtrace_limit_EQ : Joined<["-"], "fconstexpr-backtrace-limit=">, Group<f_Group>, Visibility<[ClangOption, CC1Option]>, HelpText<"Set the maximum number of entries to print in a constexpr evaluation backtrace (0 = no limit)">, diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 8a0efd70e6c0d..36e4ee0a64e37 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -6668,8 +6668,15 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.AddLastArg(CmdArgs, options::OPT_fexperimental_library); - if (Args.hasArg(options::OPT_fexperimental_new_constant_interpreter)) - CmdArgs.push_back("-fexperimental-new-constant-interpreter"); + if (CLANG_USE_EXPERIMENTAL_CONST_INTERP) { + Args.ClaimAllArgs(options::OPT_fexperimental_new_constant_interpreter); + Args.AddLastArg(CmdArgs, + options::OPT_fno_experimental_new_constant_interpreter); + } else { + Args.ClaimAllArgs(options::OPT_fno_experimental_new_constant_interpreter); + Args.AddLastArg(CmdArgs, + options::OPT_fexperimental_new_constant_interpreter); + } if (Arg *A = Args.getLastArg(options::OPT_fbracket_depth_EQ)) { CmdArgs.push_back("-fbracket-depth"); diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 1375291556f11..e4622496758ac 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -184,9 +184,6 @@ CreateFrontendAction(CompilerInstance &CI) { const FrontendOptions &FEOpts = CI.getFrontendOpts(); - if (CLANG_USE_EXPERIMENTAL_CONST_INTERP) - CI.getLangOpts().EnableNewConstInterp = true; - if (CI.getLangOpts().HLSL) Act = std::make_unique<HLSLFrontendAction>(std::move(Act)); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
