This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] List checkers in 3 categories: released, alpha, developer
ClosedPublic

Authored by Szelethus on May 17 2019, 6:22 PM.

Details

Summary

Implementation of the proposed checker categories. Quote from the mail:

-analyzer-checker-help: Displays production ready (non-modeling) checkers, and beta checkers with a disclaimer for each description. Don't forget to patch clang-tidy!
-analyzer-checker-help-developer: Displays only developer (modeling, debug) checkers (renamed from *-hidden).
-analyzer-checker-help-alpha: Displays only alpha (non-modeling) checkers with very scary disclaimers both around the list and for each checker description.

Note how each of these is mutually exclusive. I think we shouldn't make a flag that displays all checkers, but should allow the following invocation to do so:

clang -cc1 -analyzer-checker-help -analyzer-checker-help-alpha -analyzer-checker-help-developer

Came to realize that this won't affect clang-tidy at all.

Diff Detail

Repository
rL LLVM

Event Timeline

Szelethus created this revision.May 17 2019, 6:22 PM

Let's come to a consensus on this, and followup patches, but as soon as that's done, this REALLY NEEDS to be documented in the release notes.

Szelethus retitled this revision from [analyzer] Divide checkers into 3 categories: released, alpha, developer to [analyzer] List checkers in 3 categories: released, alpha, developer.May 22 2019, 10:56 AM
NoQ accepted this revision.May 22 2019, 3:46 PM

Looks great, thanks!

lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
526 ↗(On Diff #200125)

this -> these :)

527–530 ↗(On Diff #200125)

Hmm, just thought about this: by this logic, should we hide all core checkers? Because we don't really support users tinkering with whether they should be enabled :)

This revision is now accepted and ready to land.May 22 2019, 3:46 PM
Szelethus marked an inline comment as done.May 22 2019, 3:58 PM
Szelethus added inline comments.
lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
527–530 ↗(On Diff #200125)

Thats actually a very cool idea. We should totally do that!

Szelethus updated this revision to Diff 200855.May 22 2019, 6:13 PM
Szelethus marked an inline comment as done.May 23 2019, 3:54 AM
Szelethus added inline comments.
lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
527–530 ↗(On Diff #200125)

Well umm. In a sense, sure, but wouldn't we want to display the checker descriptions at least? Let's not rush this for now.

NoQ added a comment.May 23 2019, 12:38 PM

Thx!~

lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
527–530 ↗(On Diff #200125)

Yup. I guess we just separate models from checkers eventually.

This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMay 23 2019, 2:44 PM

rC361566 is incorrectly marked for this revision instead of D62094.