================ @@ -112,26 +112,35 @@ class CheckerRegistry { return true; } -public: - /// Adds a checker to the registry. Use this non-templated overload when your - /// checker requires custom initialization. - void addChecker(RegisterCheckerFn Fn, ShouldRegisterFunction sfn, + /// Adds a checker to the registry. This private, most general variant is + /// intended for loading the checker definitions from `Checkers.td`. + /// FIXME: The checker registry should not bother with loading `DocsUri` + /// because it is (as of now) never queried from the checker registry. + void addChecker(RegisterCheckerFn Fn, ShouldRegisterFunction Sfn, StringRef FullName, StringRef Desc, StringRef DocsUri, bool IsHidden); - /// Adds a checker to the registry. Use this templated overload when your - /// checker does not require any custom initialization. - /// This function isn't really needed and probably causes more headaches than - /// the tiny convenience that it provides, but external plugins might use it, - /// and there isn't a strong incentive to remove it. +public: + /// Adds a checker to the registry. Use this for a checker defined in a + /// plugin if it requires custom registration functions. + void addChecker(RegisterCheckerFn Fn, ShouldRegisterFunction Sfn, + StringRef FullName, StringRef Desc, bool IsHidden = false) { + addChecker(Fn, Sfn, FullName, Desc, "NoDocsUri", IsHidden); + } + + /// Adds a checker to the registry. Use this for a checker defined in a + /// plugin if it doesn't require custom registration functions. template <class T> - void addChecker(StringRef FullName, StringRef Desc, StringRef DocsUri, - bool IsHidden = false) { - // Avoid MSVC's Compiler Error C2276: - // http://msdn.microsoft.com/en-us/library/850cstw1(v=VS.80).aspx + void addChecker(StringRef FullName, StringRef Desc, bool IsHidden = false) { addChecker(&CheckerRegistry::initializeManager<CheckerManager, T>, - &CheckerRegistry::returnTrue<T>, FullName, Desc, DocsUri, - IsHidden); + &CheckerRegistry::returnTrue<T>, FullName, Desc, ---------------- NagyDonat wrote:
I, too, have no idea :upside_down_face: and I asked @Szelethus who added the template parameter in 2020, but he doesn't remember why was it added. The projects can be compiled and linked without the template parameter, so I decided to remove it in https://github.com/llvm/llvm-project/pull/147797/commits/4c5c619929343fbee05e7be643710ce30aca3272 https://github.com/llvm/llvm-project/pull/147797 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits