[cfe-dev] [clang-tidy] RFC: Need feedback on enhancing run-clang-tidy.py to accept and pass @response_files on to clang-tidy

Jonas Toth via cfe-dev cfe-dev at lists.llvm.org
Fri Jun 21 02:07:38 PDT 2019


Hey,

your task sounds like a "clang-tidy-diff.py" integration into git?

-
https://github.com/llvm-mirror/clang-tools-extra/blob/master/clang-tidy/tool/clang-tidy-diff.py
- https://reviews.llvm.org/D57662 (parallelizing it was done as well).

Do you think that suits your needs?

Best Regards,
Jonas

Am 21.06.19 um 04:31 schrieb Don Hinton via cfe-dev:
> Btw, the motivation for this custom command is to make it easy to
> apply a set of clang-tidy checks to just the files in your change set,
> and no others.
>
> Obviously, checks that change symbol names wouldn't be appropriate for
> targeted sets like this, so I'm mainly looking to apply the current
> llvm* ones to start with.  And since it accepts a checks= argument and
> respects the .clang-tidy file, I'm hoping it will be generally useful.
>
> On Thu, Jun 20, 2019 at 6:54 PM Don Hinton <hintonda at gmail.com
> <mailto:hintonda at gmail.com>> wrote:
>
>     I'd like to drive run-clang-tidy.py from a git custom command, e.g.:
>
>       $ git clang-tidy <commit> [-fix-errors] [etc...]
>
>     And pass the all the files in the diff, with headers going in
>     '-header-filter='.  This works great for small diffs -- I'm using
>     `git diff -name-only` under the hood to get the list of files --
>     but large diffs will inevitably generate extremely long command lines.
>
>     Since clang-tidy can read @response-files, I figure I could just
>     create my super long command line and pass it through, which would
>     require a small change to run-clang-tidy.py.  run-clang-tidy.py
>     could then create individual @respone-files for each clang-tidy
>     instance as needed -- in case the number of headers is large.  To
>     work, each instance would need the complete list of headers in the
>     diff.
>
>     But, before I go off and start hacking it up, I just wanted to see
>     if anyone had a better idea.  I guess I'll have the pass the file
>     name to python as just a regular option, since the @file notation
>     doesn't seem to be present, but I'm no python expert.
>
>     Btw, I have a working prototype, loosely based on
>     git-clang-format, which can call either clang-tidy directly in a
>     loop, or pass the entire list to run-clang-tidy.py which can do it
>     in parallel.
>
>     thanks...
>     don
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190621/a410b4ca/attachment.html>


More information about the cfe-dev mailing list