[PATCH] D76545: [clang-tidy] Add a new check group 'experimental-'

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 23 05:26:08 PDT 2020


aaron.ballman added a comment.

In D76545#1936389 <https://reviews.llvm.org/D76545#1936389>, @whisperity wrote:

> In D76545#1935603 <https://reviews.llvm.org/D76545#1935603>, @aaron.ballman wrote:
>
> > I think we want to keep the experimental checks grouped to their parent module rather than being in a module of their own.
>
>
> For this, wouldn't the fact that telling Tidy to enable `cppcoreguidelines-*` (i.e. `--checks='-*,cppcoreguidelines-*'`) also enables the `cppcoreguidelines-experimental-*` cause a problem? (This is the original reason why I tinkered in the "top-level" `experimental-` mode.)


It will by default, but it doesn't have to. For instance, we could add an `--experimental` flag to clang-tidy that automatically enables the `<module>-experimental-*` checks in any otherwise-enabled module for the run.

> In D76545#1935603 <https://reviews.llvm.org/D76545#1935603>, @aaron.ballman wrote:
> 
>> I'm not opposed to the idea of experimental checks, but I don't want to see "experimental" become a dumping ground for low-quality checks that we then have to maintain indefinitely.
> 
> 
> I think this could (in terms of development, support, etc.) work similarly to the `alpha.` group/package of Clang Static Analyser checkers. I'm not too knowledgeable about CSA - perhaps @Szelethus could help me out, - but their idea of alpha checkers is that they are mature in terms of the general idea, but clunky in terms of working. (The official stance is that anything out of alpha should not crash, anything within alpha might crash, and if you enable it and you crash, you are your own perpetrator.)

The `alpha` checks from CSA was the situation I was hoping to avoid -- my experience has been that checks go into there and rarely come out of alpha stage but continue to require periodic maintenance.

> @aaron.ballman @njames93 Should I write up a pitch mail to cfe-dev about this?

I think that would be a reasonable next step.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D76545/new/

https://reviews.llvm.org/D76545





More information about the cfe-commits mailing list