On Tue, Jul 5, 2022 at 8:16 AM Daniel P. Berrangé <[email protected]> wrote:
> for i in `git ls-tree --name-only -r HEAD:`
> do
> clang-tidy $i 1>/dev/null 2>&1
> done
All of those invocations are probably failing quickly due to missing
includes and other problems, since the location of the compilation
database and some other arguments haven't been specified.
Accounting for those problems (and enabling just one random C++ check):
$ time clang-tidy -p build \
--extra-arg-before=-Wno-unknown-warning-option \
--extra-arg='-isystem [...]' \
--checks='-*,clang-analyzer-cplusplus.Move' \
$( find block -name '*.c' )
[...]
real 3m0.260s
user 2m58.041s
sys 0m1.467s
Single-threaded static-analyzer.py without any checks:
$ time ./static-analyzer.py build block -j 1
Analyzed 79 translation units in 16.0 seconds.
real 0m16.665s
user 0m15.967s
sys 0m0.604s
And with just the 'return-value-never-used' check enabled for a
somewhat fairer comparison:
$ time ./static-analyzer.py build block -j 1 \
-c return-value-never-used
Analyzed 79 translation units in 61.5 seconds.
real 1m2.080s
user 1m1.372s
sys 0m0.513s
Which is good news!
Alberto