Skip to content

Build nvforest with C++20#128

Merged
rapids-bot[bot] merged 2 commits into
mainfrom
issue-122-port-nvforest-c-build-to-c-20
Jun 13, 2026
Merged

Build nvforest with C++20#128
rapids-bot[bot] merged 2 commits into
mainfrom
issue-122-port-nvforest-c-build-to-c-20

Conversation

@csadorf

@csadorf csadorf commented May 21, 2026

Copy link
Copy Markdown
Contributor

Change the nvforest C++ and CUDA build standards from C++17 to C++20.

Closes #122

@csadorf csadorf requested a review from a team as a code owner May 21, 2026 03:11
@csadorf csadorf added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels May 21, 2026
@coderabbitai

coderabbitai Bot commented May 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0d151863-da34-4a9e-8777-71ca33abbe22

📥 Commits

Reviewing files that changed from the base of the PR and between b3bdd26 and 40046e5.

📒 Files selected for processing (1)
  • cpp/scripts/run-clang-tidy.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • cpp/scripts/run-clang-tidy.py

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Upgraded C++ and CUDA compiler language standards from 17 to 20 across build and test configurations.
    • Updated static-analysis tooling to use the newer language standard and to exclude unsupported compiler flags during linting.

Walkthrough

Bumps C++ and CUDA language standards from 17 to 20 for library and tests, and updates run-clang-tidy.py to use -std=c++20 and to filter unsupported clang flags from generated clang-tidy invocations.

Changes

Language Standard & Tooling

Layer / File(s) Summary
Language standard updates for nvforest++ and test targets
cpp/CMakeLists.txt, cpp/tests/CMakeLists.txt
The CXX_STANDARD and CUDA_STANDARD target properties are updated from 17 to 20 for both the main nvforest++ library target and the test targets; CXX_STANDARD_REQUIRED remains enabled.
clang-tidy invocation sanitization
cpp/scripts/run-clang-tidy.py
Adds UNSUPPORTED_CLANG_FLAGS, implements remove_unsupported_clang_flags(command), updates normalized compile args to use -std=c++20, strips -c/-o, and removes unsupported flags before invoking clang-tidy.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • rapidsai/nvforest#100: Related to clang tooling/version changes and integration with formatting/clang tooling.

Suggested reviewers

  • dantegd
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely summarizes the main change: upgrading the build standards from C++17 to C++20.
Description check ✅ Passed The description directly relates to the changeset, explaining the C++17 to C++20 migration and referencing the linked issue.
Linked Issues check ✅ Passed All coding requirements from issue #122 are met: C++ and CUDA standards updated to 20 in CMakeLists.txt files and clang-tidy script.
Out of Scope Changes check ✅ Passed All changes are directly scoped to the C++20 migration objective; no out-of-scope modifications are present.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue-122-port-nvforest-c-build-to-c-20

Comment @coderabbitai help to get the list of available commands and usage tips.

@csadorf csadorf self-assigned this Jun 9, 2026
@csadorf csadorf force-pushed the issue-122-port-nvforest-c-build-to-c-20 branch from a561928 to b3bdd26 Compare June 12, 2026 21:48
@csadorf csadorf force-pushed the issue-122-port-nvforest-c-build-to-c-20 branch from b3bdd26 to 40046e5 Compare June 12, 2026 21:58
@hcho3

hcho3 commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

/merge

@rapids-bot rapids-bot Bot merged commit 8da983d into main Jun 13, 2026
66 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CMake CUDA/C++ improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Port nvForest C++ build to C++20

2 participants