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

Don Hinton via cfe-dev cfe-dev at lists.llvm.org
Thu Jun 20 19:31:56 PDT 2019


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> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190620/71027ae1/attachment.html>


More information about the cfe-dev mailing list