On Fri, Aug 21, 2020 at 12:02 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > I improved gen_compile_commands.py, > then rebased Nathan's v7 [1] on top of them. > To save time, I modified the Makefile part. > No change for run-clang-tools.py > > "make clang-tidy" should work in-tree build, > out-of-tree build (O=), and external module build (M=). > > This version keeps the previous work-flow. > You can still manually run scripts/gen_compile_commands.json > > 'make compile_commands.json' or 'make clang-tidy' is handier > for most cases. As Nick noted, there is 3 % loss of the coverage. > > If you need the full compilation database that covers all the > compiled C files, please run the script manually. > > [1] https://patchwork.kernel.org/patch/11687833/ Thank you for the work that went into this series. The only reason I started focusing on compiling the kernel with Clang 3.5 years ago was that I simply wanted to run scan-build (clang's static analyzer, enabled by this series) on the kernel to find bugs to start contributing fixes for. Turned out compiling the kernel with Clang was a prerequisite, and I've been distracted with that ever since. Thank you both for completing this journey. > > Masahiro Yamada (8): > gen_compile_commands: parse only the first line of .*.cmd files > gen_compile_commands: use choices for --log_levels option > gen_compile_commands: do not support .cmd files under tools/ directory > gen_compile_commands: reword the help message of -d option > gen_compile_commands: make -o option independent of -d option > gen_compile_commands: move directory walk to a generator function > gen_compile_commands: support *.o, *.a, modules.order in positional > argument > kbuild: wire up the build rule of compile_commands.json to Makefile > > Nathan Huckleberry (1): > Makefile: Add clang-tidy and static analyzer support to makefile > > MAINTAINERS | 1 + > Makefile | 45 +++- > scripts/clang-tools/gen_compile_commands.py | 245 ++++++++++++++++++++ > scripts/clang-tools/run-clang-tools.py | 74 ++++++ > scripts/gen_compile_commands.py | 151 ------------ > 5 files changed, 361 insertions(+), 155 deletions(-) > create mode 100755 scripts/clang-tools/gen_compile_commands.py > create mode 100755 scripts/clang-tools/run-clang-tools.py > delete mode 100755 scripts/gen_compile_commands.py > > -- > 2.25.1 > -- Thanks, ~Nick Desaulniers