public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ian Lance Taylor <iant@google.com>
To: Romain Geissler <romain.geissler@gmail.com>
Cc: David Malcolm <dmalcolm@redhat.com>,  gcc@gcc.gnu.org
Subject: Re: Proposed plugin API for GCC
Date: Fri, 30 Mar 2012 13:48:00 -0000	[thread overview]
Message-ID: <mcrpqbub3oi.fsf@dhcp-172-18-216-180.mtv.corp.google.com> (raw)
In-Reply-To: <99850651-A4B2-4637-B659-585F6CE2D4F4@gmail.com> (Romain	Geissler's message of "Fri, 30 Mar 2012 10:47:18 +0200")

Romain Geissler <romain.geissler@gmail.com> writes:

> Using structs with some sets of function pointers may break compatibility
> between minor release.

Yes, but fortunately we have a good understanding of how not to do that.

We could also go the even safer route used for linker plugins, in which
the plugin is invoked with a list of functions, where each function is
tagged with a code.  See include/plugin-api.h for the interface and
lto-plugin for an implementation.  The approach there is very clean and
permits forward and backward binary compatibility.  I don't know if we
want to go that far for compiler plugins.


> Anyway, you're suggestion to group functions in common names, that's just
> C++ motto. May the eventual plugin API in C++ (independently from internals
> being C++ or not) ?

I think we have a clear understanding of how to maintain compatibility
across releases in C.  I do not think we have that understanding in C++.

Ian

  reply	other threads:[~2012-03-30 13:48 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-29 20:59 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=mcrpqbub3oi.fsf@dhcp-172-18-216-180.mtv.corp.google.com \
    --to=iant@google.com \
    --cc=dmalcolm@redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=romain.geissler@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).