[PATCH] D54438: [analyzer][WIP] Reimplement dependencies between checkers

Umann Kristóf via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 13 02:14:35 PST 2018


Szelethus added a comment.
Herald added a subscriber: baloghadamsoftware.

Allow me to disagree again -- the reason why `CheckerRegistry` and the entire checker registration process is a mess is that suboptimal solutions were added instead of making the system do well on the long term. This is completely fine, I am guilty of this myself, but now that this problem has been highlighted, it's time to get things right. Some clever refactoring is long overdue.

I don't mind delaying my checker option related works, if that means that checker registration doesn't need hacking each time a flaw like this is discovered.

There are other things I need to figure out -- some checkers refuse to register themselves in their registry funcions,

- which makes moving `CheckerManager::registerChecker<T>` out of registry funcions impossible,
- which makes passing the checkers full name directly to `CheckerManager` impossible,
- which makes replacing the current registration infrastructure impossible as `CheckerManager` has to be mutable when supplied to the registry function,
- which will always leaves toom for errors like this to arise.

Since I spent the last couple weeks lookig at these files, there's no better opportunity for me to fix these.


Repository:
  rC Clang

https://reviews.llvm.org/D54438





More information about the cfe-commits mailing list