[cfe-dev] clang-tidy and CppCoreGuidelines
Jonas Toth via cfe-dev
cfe-dev at lists.llvm.org
Sun Sep 24 09:53:16 PDT 2017
Hello everybody,
i am currently trying to get an overview on the implementation status of
the CppCoreGuidelines in all clang tools and especially clang-tidy.
All rules with a section on enforcement are collected here
(https://github.com/JonasToth/CppCoreGuidelinesTooling), and if possible
there is the checkname for clang-tidy etc. mentioned.
The implementation status in short:
number of rules: 286
number of enforced rules: 123
number of rules without enforcement: 163
The reason I am writing this here: Most of the checks that would enforce
the guideline are not in the `cppcoreguidelines-*`-list.
It would be very nice, if there is an easy way to enable all checks for
the guideline, but adding ~100 aliases in clang-tidy is infeasable and
since many rules would apply to other guidelines as well it isn't
scalable, too. Such a change would mean, that sections like
`readability, modernize, performance, ...` still exist standalone as
well as especially for a guideline implemented checks like
`cppcoreguideline-owning-memory`. But when running clang-tidy to enforce
a guideline, clang-tidy would directly activate all checks necessary to
do so, even if there is no alias in the related module.
I would like to propose/discuss the possibility to have built-in
configurations in clang-tidy, that would activate and configure all
related checks. Such a feature would benefit other guidelines (High
Integrity C++, CERT) and reduce duplication.
A quick way to implement this: custom configuration files directly
shipped with clang-tidy.
A discussion on that issue would be very nice! I am willing to spent
some time on an implementation for that issue as well.
All the best, Jonas
More information about the cfe-dev
mailing list