Skip to content

Switch CCF builds to C++23 - #8234

Draft
Amaury Chamayou (achamayou) wants to merge 5 commits into
mainfrom
achamayou-switch-to-cpp23
Draft

Switch CCF builds to C++23#8234
Amaury Chamayou (achamayou) wants to merge 5 commits into
mainfrom
achamayou-switch-to-cpp23

Conversation

@achamayou

Copy link
Copy Markdown
Member

Summary

  • require C++23 for CCF builds and propagate cxx_std_23 through exported CMake targets
  • update the installed-application smoke test to fall back to Clang 18, matching the packaged minimum toolchain
  • fix C++23 compatibility issues in the vendored SmallVector include sites and incomplete pimpl declarations
  • adopt C++23 std::to_underlying, string and ranges contains, and std::unreachable, and remove the obsolete comparison shim

Validation

  • full Debug build with Clang 18.1.3 and libstdc++ 13, including the Arrow-dependent submitter
  • ./tests.sh -L unit -E "snp_attestation_test|tls_test" (53/53 passed; the excluded tests require OpenSSL 3.3+, while the local environment provides 3.0.13)
  • built the logging applications against the installed CCF package and confirmed the consumer compile uses -std=gnu++23
  • scripts/ci-checks.sh -f

Require and propagate C++23 across CCF and downstream application targets, update the install-test compiler fallback, and adopt the newly available standard utilities.

Fix C++23 build incompatibilities in SmallVector consumers and incomplete pimpl declarations.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Record the downstream C++23 requirement and retained Clang 18.1.2 minimum in the 7.0.13 changelog.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Apache Arrow 15 still uses std::aligned_storage, which libstdc++ 13 deprecates in C++23 mode. Suppress that warning only while parsing Arrow and Parquet headers so project warnings remain errors.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant