[cfe-dev] clang-tidy and CppCoreGuidelines

Gábor Horváth via cfe-dev cfe-dev at lists.llvm.org
Mon Sep 25 05:33:08 PDT 2017


Hi!

On 24 September 2017 at 18:53, Jonas Toth via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> 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.


Why do you think it is not scalable or infeasible? If we introduce built-in
configurations we still need to maintain the "aliases" but in different
files. I see only one advantage here, when different configurations are
required by different aliases. But I do not know how frequent such checks
are.

Regards,
Gábor


> 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
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://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/20170925/4f6713a3/attachment.html>


More information about the cfe-dev mailing list