public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Proposed plugin API for GCC
@ 2012-03-29 20:59 David Malcolm
  2012-03-30  0:06 ` Miles Bader
                   ` (3 more replies)
  0 siblings, 4 replies; 27+ messages in thread
From: David Malcolm @ 2012-03-29 20:59 UTC (permalink / raw)
  To: gcc

I had a go at writing a possible plugin API for GCC, and porting parts
of my python plugin to it:
http://git.fedorahosted.org/git/?p=gcc-python-plugin.git;a=commitdiff;h=36a0d6a45473c39db550915f8419a794f2f5653e

It's very much at the "crude early prototype" stage - all I've wrapped
is part of CFG-handling - but the important thing is that python plugin
*does* actually compile against this, and many of its selftests still
pass (though I'm breaking the self-imposed encapsulation in quite a few
places in order to get it to compile).

The code is currently jointly owned by me and Red Hat; I'm sure we can
do copyright assignment if/when it comes to that.

You can see the work-in-progress in the "proposed-plugin-api" branch of
gcc-python-plugin.

For example, the proposed public header file looks like this:
http://git.fedorahosted.org/git/?p=gcc-python-plugin.git;a=blob;f=proposed-plugin-api/gcc-cfg.h;h=8dbeed0a6c5eb14b0336e89493746887c3bec20a;hb=36a0d6a45473c39db550915f8419a794f2f5653e

For example, some design notes can be seen at:
http://git.fedorahosted.org/git/?p=gcc-python-plugin.git;a=blob;f=proposed-plugin-api/design.rst;h=31b960ccac2dcf4d007701b5e9c6556e68e0d107;hb=36a0d6a45473c39db550915f8419a794f2f5653e

How do other plugin authors feel about the API?
How do GCC subsystem maintainers feel?

I initially attempted an underscore_based_naming_convention but quickly
found it difficult to get concise function names, so I switched to a
CamelCaseBased_NamingConvention with an underscore separating a notional
namespace element from a secondary element, which saved plenty of space.
The different naming convention also serves to highlight that this is
*not* part of GCC's internals.

Hope this is constructive
Dave

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2012-04-02 15:16 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-29 20:59 Proposed plugin API for GCC David Malcolm
2012-03-30  0:06 ` Miles Bader
2012-03-30 22:55   ` David Malcolm
2012-03-30  4:18 ` Ian Lance Taylor
2012-03-30  8:47   ` Romain Geissler
2012-03-30 13:48     ` Ian Lance Taylor
2012-03-30 18:17       ` Romain Geissler
2012-03-30  8:23 ` Ludovic Courtès
2012-03-30  8:32   ` Richard Guenther
2012-03-30  9:45     ` Ludovic Courtès
2012-03-30 12:01       ` Gabriel Dos Reis
2012-03-30 13:55         ` Ludovic Courtès
2012-03-30  9:33   ` Basile Starynkevitch
2012-03-30 11:59     ` Gabriel Dos Reis
2012-03-30 11:55   ` Gabriel Dos Reis
2012-03-30 11:59     ` Richard Guenther
2012-03-30 12:04       ` Gabriel Dos Reis
2012-03-30 14:31   ` Ian Lance Taylor
2012-03-30 14:49     ` Ludovic Courtès
2012-03-30 15:13       ` Gabriel Dos Reis
2012-03-30 12:14 ` Richard Guenther
2012-03-30 13:09   ` Basile Starynkevitch
2012-03-31  0:46     ` David Malcolm
2012-03-31  1:44       ` Gabriel Dos Reis
2012-04-02 15:16         ` Michael Matz
2012-03-31  9:10       ` Romain Geissler
2012-03-30 23:17   ` David Malcolm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).