Skip to content

Add GCC 15 support, excluding CI#803

Merged
laurynas-biveinis merged 1 commit into
masterfrom
gcc-15-minimal
Nov 18, 2025
Merged

Add GCC 15 support, excluding CI#803
laurynas-biveinis merged 1 commit into
masterfrom
gcc-15-minimal

Conversation

@laurynas-biveinis
Copy link
Copy Markdown
Collaborator

@laurynas-biveinis laurynas-biveinis commented Nov 17, 2025

  • Fix a build warning
  • Bump GCC version in CMakePresets.json

CI is excluded because of no simple way to get GCC 15 on Ubuntu 24.04 (or 22.04)

Summary by CodeRabbit

  • Chores

    • Updated build configuration to target newer compiler versions.
  • Tests

    • Refined test code for encoding and decoding verification.

- Fix a build warning
- Bump GCC version in CMakePresets.json

CI is excluded because of no simple way to get GCC 15 on Ubuntu 24.04 (or 22.04)
@laurynas-biveinis laurynas-biveinis self-assigned this Nov 17, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Nov 17, 2025

Walkthrough

Version bump for GCC compiler targets from 14 to 15 in build configuration, and simplification of a test parameter by removing an unnecessary explicit cast from the bitwise complement operation.

Changes

Cohort / File(s) Summary
Compiler Version Update
CMakePresets.json
Updated gcc preset's cache variables: CMAKE_C_COMPILER and CMAKE_CXX_COMPILER bumped from versions 14 to 15
Test Parameter Simplification
test/test_key_encode_decode.cpp
Removed explicit static_cast<T> from test argument; changed static_cast<T>(~0ULL) to ~0ULL in UInt64C00010 test

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Both changes are straightforward—one is a direct version increment in configuration, the other is a redundant cast removal that doesn't alter test semantics.

Poem

🔨 From fourteen to fifteen, the compilers rise,
A cast removed—simpler code, no disguise,
Tools refreshed, tests cleaned—tiny sparks of care,
Building stronger, lighter, with time to spare. ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: updating GCC compiler versions from 14 to 15 in CMakePresets.json, with a note about excluding CI changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch gcc-15-minimal

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 351bbbc and 5e25981.

📒 Files selected for processing (2)
  • CMakePresets.json (1 hunks)
  • test/test_key_encode_decode.cpp (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: Codacy Static Code Analysis
🔇 Additional comments (1)
test/test_key_encode_decode.cpp (1)

351-351: LGTM! Removes redundant cast for uint64_t.

The removal of static_cast<T> where T is std::uint64_t is correct. Since ~0ULL already has type unsigned long long (typically 64 bits), casting it to uint64_t is redundant when they're the same size. This properly addresses the GCC 15 warning mentioned in the PR description.

Note that similar casts at lines 199, 247, and 297 are retained correctly because they perform actual narrowing conversions for smaller types (uint8_t, uint16_t, uint32_t).

Comment thread CMakePresets.json
@sonarqubecloud
Copy link
Copy Markdown

@laurynas-biveinis laurynas-biveinis merged commit 4794042 into master Nov 18, 2025
235 of 239 checks passed
@laurynas-biveinis laurynas-biveinis deleted the gcc-15-minimal branch November 18, 2025 04:25
This was referenced Dec 2, 2025
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