Skip to content

♻️ Upgrade C++ infra & fix clang‑tidy issues#76

Merged
kammce merged 6 commits intomainfrom
elevate-checks
Feb 19, 2026
Merged

♻️ Upgrade C++ infra & fix clang‑tidy issues#76
kammce merged 6 commits intomainfrom
elevate-checks

Conversation

@kammce
Copy link
Member

@kammce kammce commented Feb 19, 2026

This PR introduces a comprehensive refactor of the C++ infrastructure for
async_context. The changes include:

  • Migrated the project to CMake 4.0 and adopted libhal‑cmake‑util for
    build configuration, simplifying library creation and test integration.
  • Replaced the legacy CMake options (BUILD_UNIT_TESTS, BUILD_BENCHMARKS,
    etc.) with the new libhal conventions (libhal_project_init,
    libhal_add_library, etc.).
  • Updated the build system to enable C++23, removed legacy compiler flags
    (-fexceptions, -fno‑rtti) that are no longer required with the new
    tooling.
  • Added a lightweight compile_commands_clangd_resolver.py script and
    VS Code settings to improve clang‑d diagnostics.
  • Cleaned up the .clang-tidy configuration, removing unused checks and
    adding a header‑filter.
  • Fixed several clang‑tidy warnings:
    • async_context.cppm – added missing [[nodiscard]], suppressed
      false‑positive analyzer checks, and removed an unnecessary block_by_io
      call.
    • Updated test helpers (basic_context.test.cpp, basics.test.cpp,
      etc.) to use [[maybe_unused]] where appropriate.
  • Removed the old test harness (tests/main.test.cpp) and replaced it with
    per‑test main() functions that drive each suite.
  • Updated the README to reflect the new build workflow and removed
    references to legacy configuration.

The net effect is a cleaner, more maintainable build system that aligns
with the current libhal ecosystem and resolves all clang‑tidy
complaints. This brings the project closer to a stable 1.0 release.

@kammce kammce merged commit 3f9ab05 into main Feb 19, 2026
@kammce kammce deleted the elevate-checks branch February 19, 2026 17:05
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