New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[analyzer][clang] Remove external plugin support #4112
base: master
Are you sure you want to change the base?
Conversation
Shipping plugins as external dynamic libraries for Clang Static Analyzer is generally frowned upon, and not supported. This patch removes the existing support for using external ClangSA analyzer plugins.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, using the plugins is not supported. Moreover, if someone is enough of a power-user (one example I know of is https://github.com/GrammaTech/swap-detector) to use plugins, they can achieve the same by adding the flags explicitly to analyse --saargs
or something.
I agree that the plugins could be provided by |
There is also It is not supported in the sense that you will get no help ("support") in using that feature, including help about crappy results, crashes, complete and utter corruption of your filesystem, exploits, etc. The official stance of CSA (but not necessarily Clang as a whole!), is that if you use plugins and anything goes wrong, you're — for the lack of a better phrase — SOL. (It's like reporting a kernel panic of a tainted kernel (a kernel that had proprietary And because it is unsupported, there are no guarantees that whatever code you create and potentially distribute as a plugin will work with any arbitrary Clang version. They don't care about API or ABI compatibility. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gamesh411 I'll summarise what I discussed with @bruntib prior because it looks like they hadn't gotten around to publishing their comments so far.
Basically, there is one significant issue with this change where There is a question of what "support" means. I tried to find an official answer about the plugins, but to no avail. Technically, Clang offers the feature, but the |
Shipping plugins as external dynamic libraries for Clang Static Analyzer is generally frowned upon, and not supported. This patch removes the existing support for using external ClangSA analyzer plugins.