[clang] [analyzer][NFC] Introduce framework for checker families (PR #139256)
Balazs Benics via cfe-commits
cfe-commits at lists.llvm.org
Mon May 19 10:43:25 PDT 2025
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,Balazs Benics
<benicsbalazs at gmail.com>,Balazs Benics <benicsbalazs at gmail.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>,
=?utf-8?q?Donát?= Nagy <donat.nagy at ericsson.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/139256 at github.com>
================
@@ -115,9 +115,22 @@ class CheckerRegistry {
public:
/// Adds a checker to the registry. Use this non-templated overload when your
/// checker requires custom initialization.
- void addChecker(RegisterCheckerFn Fn, ShouldRegisterFunction sfn,
+ void addChecker(RegisterCheckerFn Fn, ShouldRegisterFunction Sfn,
+ StringRef FullName, StringRef DebugName, StringRef Desc,
+ StringRef DocsUri, bool IsHidden);
+
+ /// Adds a checker to the registry. This overload doesn't take a `DebugName`
+ /// (which usually looks like `DivZeroChecker`), so it uses the user-facing
+ /// `FullName` (which usually looks like ``core.DivideZero`) as a debug name.
+ /// THIS IS DEPRECATED and is only provided to preserve compatibility with
+ /// legacy plugins.
+ /// TODO: Eventually remove this from the codebase.
----------------
steakhal wrote:
We can break compatibility. In fact, a clang plugin is only compatible with the same major version of clang already.
There is no such thing in Clang as API or ABI compatibility across major releases.
I'd recommend dropping this compatibility overload.
https://github.com/llvm/llvm-project/pull/139256
More information about the cfe-commits
mailing list