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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to