Summary
Re-enable C++ static analysis (clang-tidy) in the CI pipeline. This was explicitly skipped in #131 because cleaning up all affected files requires non-trivial effort.
Background
In #131, C++ static analysis was omitted from the lint workflow while clang-format was pinned to v21.1.x and the GitHub Actions triggers were fixed. The PR comments (link) include a trial clang-tidy run that surfaced a broad set of diagnostics across multiple source files under src/clp_ffi_js/ir/, including (but not limited to):
misc-include-cleaner: several headers included but not used directly
readability-convert-member-functions-to-static: methods that can be made static
cppcoreguidelines-rvalue-reference-param-not-moved: rvalue reference parameters not moved inside function bodies
readability-identifier-naming: naming style violations (e.g., filter_log_events flagged as a member)
cppcoreguidelines-pro-type-member-init: constructors not initialising all member fields
clang-diagnostic-error: missing header emscripten/val.h in the include path used by clang-tidy
.clang-format config error: ReflowComments: "Always" is not a valid boolean value in the version being used
Tasks
References
Summary
Re-enable C++ static analysis (clang-tidy) in the CI pipeline. This was explicitly skipped in #131 because cleaning up all affected files requires non-trivial effort.
Background
In #131, C++ static analysis was omitted from the lint workflow while clang-format was pinned to v21.1.x and the GitHub Actions triggers were fixed. The PR comments (link) include a trial clang-tidy run that surfaced a broad set of diagnostics across multiple source files under
src/clp_ffi_js/ir/, including (but not limited to):misc-include-cleaner: several headers included but not used directlyreadability-convert-member-functions-to-static: methods that can be made staticcppcoreguidelines-rvalue-reference-param-not-moved: rvalue reference parameters not moved inside function bodiesreadability-identifier-naming: naming style violations (e.g.,filter_log_eventsflagged as a member)cppcoreguidelines-pro-type-member-init: constructors not initialising all member fieldsclang-diagnostic-error: missing headeremscripten/val.hin the include path used by clang-tidy.clang-formatconfig error:ReflowComments: "Always"is not a valid boolean value in the version being usedTasks
NOLINTsuppressions where appropriate).clang-formatReflowCommentsconfig error so that clang-format and clang-tidy can run cleanly togethertask lint:check-cpp-static-analysis(or equivalent) step back into.github/workflows/lint.yamlReferences
clang-formatto 21.1.x; Fix GitHub workflow triggers. #131