[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