Repository navigation
[MrBot] Default to C++20 instead of C++23 - #481
Closed
Abhinandan Sharma (abhinandan-codes) wants to merge 1 commit into
Closed
Abhinandan Sharma (abhinandan-codes) wants to merge 1 commit into
Abhinandan Sharma (abhinandan-codes) wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
This was referenced Oct 28, 2026
Closed
Contributor
Author
|
/azp run |
|
You have several pipelines (over 10) configured to build pull requests in this repository. Specify which pipelines you would like to run by using /azp run [pipelines] command. You can specify multiple pipelines using a comma separated list. |
Contributor
Author
|
/azp run Azure-C-Build-Tools-Gate |
|
Azure Pipelines: Successfully started running 1 pipeline(s). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lower the
set_default_build_options()default from C++23 to C++20 and drop the MSVC C++23 switch override. A newer caller-selected C++ standard is still kept.Why: #471's
/std:c++23previewbreaks Visual Studio generator builds on CMake < 4.0. CMake can't map it to the C++-onlyLanguageStandardproperty, so it lands inAdditionalOptionsand reaches C files too. Mixed C/C++ targets (c-utilc_util,c_util_reals) then fail withD8016: '/std:c17' and '/std:c++23preview' command-line options are incompatible(ElasticLog RustLib build: CMake 3.31.0, MSVC 19.44). No CMake version maps/std:c++23(MSVC 19.52+) either. CMake maps C++20 to/std:c++20(stdcpp20) in every version, so no override is needed.Local check (MSVC 19.44, mixed C/C++ target + pure C target): CMake 3.31.0 and 4.4.4, Visual Studio and Ninja generators all build. C files get
/std:c17and C++ files/std:c++20. A caller-selected C++23 still builds (stdcpplatest).Downstream validation: all 27 gates passed in 16 draft PRs on branch
abhinandan/validate-cpp20-cbt481, each based on its repo's master. Everyc-build-toolspin at every submodule depth is804727c(for example ElasticLogdeps/block-store> MessagingStore validation commit >deps/c-build-tools), every in-graph submodule points to its own validation commit, and pipelinec_build_toolsrefs match. This PR's own gate also passed.811dd76580a346log_sink_etw_intflaked in 1 of 8 flavors, passed on retry)e51c30ac3aebb1d0e9b82ba3f4b8f4d73e5dd4df84724a348827164d1e5022fe29629c0f4edcd44a2f12C4702in C files and a JEMALLOC perf test flaked, both passed on retry)a559371244e72c