[cfe-dev] [analyzer] Reimplementing checker options -- looking for reviews!

Kristóf Umann via cfe-dev cfe-dev at lists.llvm.org
Sat Mar 16 13:32:59 PDT 2019


Hi!

TL;DR: The API for registering checker options changes once several changes
that are up for review now land. This affects out-of-tree and checker
plugin developers. Now's the time to participate in the discussion!

In (not overwhelmingly) more detail:

After many-many months of hard work, I'm very confident in the current
state of the project. Allow me to elaborate.

In the recent months, the frontend of the analyzer, specifically how
command line options are handled, have changed a lot. Right now, compared
to how things used to be,

* We can list non-checker analyzer configurations
* We can verify user input for non-checker analyzer configurations
* The interface of AnalyzerOptions changed dramatically in order not to
allow this problem to arise again
* debug.ConfigDumper contains all non-checker analyzer configurations,
making it an actually usable debug tool
 * An almost decade-old issue, the checker naming bug was resolved by
reimplementing checker dependencies, and the related interface was also
changed to guard against this happening again

You probably noticed that I put a very strong emphasis on *non-checker
analyzer configurations* -- since checkers can be loaded run-time via
plugins, doing the same for them is a far more difficult task.

I've uploaded several patches that finally fixes this for good. Although
these have up for more than a month now, the code changed quite a bit, and
after several in-office discussions, vigorous testing and refactoring, I'm
very confident that everything is in it's final place. Please take a look
if these changes affect you!

The most important of these patches is https://reviews.llvm.org/D57855.
Please visit the "Stack" as well, the list of patches that depend on this
and those this depends on. While 11 patches might seem a little scary at
first, I've put a lot of effort into making as small as possible, in order
to easy on reviewing. Note that the one patch I highlighted here is quite
large however.

Cheers,
Kristóf Umann
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20190316/e0def0b1/attachment.html>


More information about the cfe-dev mailing list