Diego Novillo wrote:
On Fri, Jan 30, 2009 at 23:01, Sean Callanan <spy...@cs.sunysb.edu> wrote:
We've been off the ML for some time, but we're still out there.
Is this something that is wanted, or have we been overtaken
by events and should be porting to someone else's
implementation?
Thanks for raising the issue. The last time we discussed this
issue (http://gcc.gnu.org/ml/gcc/2008-09/msg00292.html), we did
not reach a final decision, but now that the licensing issues
have been clarified I think it's time we created a branch for
future merging.
I understand that there are several branches or patchsets for the
various approaches. We clearly need to converge into a single
one. My proposal is:
1- Agree on a common API and document it in
http://gcc.gnu.org/wiki/GCC_PluginAPI
Why not start the branch with the API as is described and then change it
as people find problems with it. I am guessing we should converge on an
API that the majority of users are happy with fairly quickly.
2- Create a new branch to implement that common API. The branch
would *only* be for basic plugin functionality.
Where would plugin-centric enhancements such as improvements to the pass
manager go? i think it'd be useful to have them land in the plugin
branch to make sure the API is satisfactory.
3- Decide whether there are plugins that we would want to have in
the standard distribution. I suspect that we will just want 1
or 2 basic applications as examples. Or perhaps, plugins
that are so universally useful for GCC development or users
that we decide to include them.
One simple and useful plugin could be a per-function warning suppressor.
ie functions flagged with user(no-warn-unused-variable) could suppress a
particular false warning.
I offer to create and maintain the new branch, help with patch
reviews and merge it into trunk at the next stage 1.
As Richard said, there is still time (several months), and I
don't think the patches needed to implement the basic plugin
harness are going to be all that large. However, it is important
that we agree on an API so that every group can easily port their
plugins to it.
Indeed. As a maintainer of a couple gcc plugins and a corresponding API,
what can I do to help out?
Taras
https://developer.mozilla.org/En/Dehydra