[clang-format] Create a python documentation tool to generate a summary of the clang...
authorpaul_hoad <paul_hoad@amat.com>
Fri, 29 May 2020 19:25:12 +0000 (20:25 +0100)
committerpaul_hoad <paul_hoad@amat.com>
Fri, 29 May 2020 19:27:56 +0000 (20:27 +0100)
commit6f56a586c505bd587106a9b94388d70efb88155b
tree33a6b757d9abf965d1fa11ad971c3f50c038f2ac
parente6a404fbe7270d22541b45d48ca29fea5c3510aa
[clang-format] Create a python documentation tool to generate a summary of the clang-format status for the whole of the LLVM project

Summary:
Any change to clang-format is tested with the unit tests, However sometimes the better approach is to run it over a very large fully formatted source tree and then inspect the differences. This seems to be a source of many of the regressions found by @krasimir  and by @sylvestre.ledru and @Abpostelnicu who run it over the Mozilla sources, but often these regressions are only found after changes have been committed.

LLVM itself would be a good dog-fooding candidate for similar tests except such a large proportion of the tree is not 100% clang formatted, as such you are never aware if the change comes from a change to clang-format or  just because the tree has not been formatted first.

The following review is for a small python tool which scans the whole of the LLVM source tree and counts the number of files which have one or more clang-format violations.

This revision contains the tool and the output from the initial run of the tool and the generated documentation which looks like the following

Reviewers: krasimir, JakeMerdichAMD, sammccall, curdeius, bollu, alexshap, jdoerfert, DavidTruby, sscalpone

Reviewed By: curdeius

Subscribers: dschuff, aheejin, fedor.sergeev, ilya-biryukov, simoncook, cryptoad, arphaman, jfb, kadircet, mstorsjo, s.egerton, usaxena95, aartbik, phosek, sstefan1, cfe-commits, sylvestre.ledru, Abpostelnicu, krasimir

Tags: #clang, #clang-format

Differential Revision: https://reviews.llvm.org/D80627
clang/docs/ClangFormat.rst
clang/docs/ClangFormattedStatus.rst [new file with mode: 0644]
clang/docs/index.rst
clang/docs/tools/generate_formatted_state.py [new file with mode: 0755]