LDMX Software
|
clang-tidy
is a static analysis tool using the LLVM / clang tooling. It can detect a number of issues with C++ code, like common readability problems, performance or memory safety issues.
The ACTS CI automatically runs clang-tidy
on all compilation units to detect as many problems as possible, and requires developers to resolve them. It is configured with a file .clang-tidy
located in the repository root. Many editors / IDEs support clang-tidy
and will automatically pick up this configuration file.
By default, only a limited number of checks are configured in this file, but this list might change in the future. If you experience CI failures that are associated with clang-tidy
, you can drill down into the CI job outputs to get a report on the issues it detected. The report should give you an error / warning code, e.g. readability-braces-around-statements
. The LLVM documentation has details on all possible error codes, in this particular example you would find it here. This page will tell you that clang-tidy
wants you to replace
with
Some error codes are less obvious, or not this trivial to fix. When in doubt, @mention the ACTS maintainers on your pull request.