From: Nick Desaulniers <ndesaulniers@google.com>
To: Masahiro Yamada <masahiroy@kernel.org>
Cc: Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
Nathan Huckleberry <nhuck@google.com>,
Tom Roeder <tmroeder@google.com>,
clang-built-linux <clang-built-linux@googlegroups.com>,
Michal Marek <michal.lkml@markovi.net>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 0/9] kbuild: clang-tidy
Date: Fri, 21 Aug 2020 18:06:22 -0700 [thread overview]
Message-ID: <CAKwvOdkUfOnzWH1d7-qAP-PFvkLeahoA8jZdkZEp4-PNFXL_JA@mail.gmail.com> (raw)
In-Reply-To: <20200821190159.1033740-1-masahiroy@kernel.org>
On Fri, Aug 21, 2020 at 12:02 PM Masahiro Yamada <masahiroy@kernel.org> 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
next prev parent reply other threads:[~2020-08-22 1:06 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-21 19:01 [PATCH v2 0/9] kbuild: clang-tidy Masahiro Yamada
2020-08-21 19:01 ` [PATCH v2 1/9] gen_compile_commands: parse only the first line of .*.cmd files Masahiro Yamada
2020-08-21 19:01 ` [PATCH v2 2/9] gen_compile_commands: use choices for --log_levels option Masahiro Yamada
2020-08-22 0:23 ` Nick Desaulniers
2020-08-21 19:01 ` [PATCH v2 3/9] gen_compile_commands: do not support .cmd files under tools/ directory Masahiro Yamada
2020-08-22 0:27 ` Nick Desaulniers
2020-08-21 19:01 ` [PATCH v2 4/9] gen_compile_commands: reword the help message of -d option Masahiro Yamada
2020-08-22 0:29 ` Nick Desaulniers
2020-08-22 1:55 ` Masahiro Yamada
2020-08-22 2:05 ` Nick Desaulniers
2020-08-21 19:01 ` [PATCH v2 5/9] gen_compile_commands: make -o option independent " Masahiro Yamada
2020-08-22 0:35 ` Nick Desaulniers
2020-08-21 19:01 ` [PATCH v2 6/9] gen_compile_commands: move directory walk to a generator function Masahiro Yamada
2020-08-22 0:41 ` Nick Desaulniers
2020-08-22 4:35 ` Masahiro Yamada
2020-08-21 19:01 ` [PATCH v2 7/9] gen_compile_commands: support *.o, *.a, modules.order in positional argument Masahiro Yamada
2020-08-22 0:59 ` Nick Desaulniers
2020-08-22 3:11 ` Masahiro Yamada
2020-08-21 19:01 ` [PATCH v2 8/9] kbuild: wire up the build rule of compile_commands.json to Makefile Masahiro Yamada
2020-08-22 0:45 ` Nick Desaulniers
2020-08-21 19:01 ` [PATCH v2 9/9] Makefile: Add clang-tidy and static analyzer support to makefile Masahiro Yamada
2020-08-22 1:06 ` Nick Desaulniers [this message]
2020-08-22 1:12 ` [PATCH v2 0/9] kbuild: clang-tidy Sedat Dilek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAKwvOdkUfOnzWH1d7-qAP-PFvkLeahoA8jZdkZEp4-PNFXL_JA@mail.gmail.com \
--to=ndesaulniers@google.com \
--cc=clang-built-linux@googlegroups.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=michal.lkml@markovi.net \
--cc=nhuck@google.com \
--cc=tmroeder@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).