[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