On Thu, 2015-06-25 at 21:47 +0200, Basile Starynkevitch wrote:
> On 06/25/2015 09:13 PM, David Malcolm wrote:
> > Some interpreters/VMs support a switch statement (for example the JVM
> > has opcodes "lookupswitch" and "tableswitch").  GCC has a set of
> > optimizations for efficiently handling switch statements, so it makes
> > sense to directly expose switch statements in the libgccjit API.
> 
> Yes, I hope that feature will be incorporated quickly in gccjit. I don't 
> have the power to approve that patch, but I hope it will be approved.
> > This patch implements a switch statement, but it isn't quite ready for
> > committing to trunk yet:
> >
> >    * It relies on gcc/typed-splay-tree.h in the previous patch
> >
> >    * It extends the libgccjit API.  It's not clear to me yet how to
> >      manage extensions of the libgccjit API: should I use symbol maps
> >      and versioning, or bump the SONAME?  I'm thinking of providing
> >      precanned feature macros within libgccjit.h e.g:
> >
> >        #define LIBGCCJIT_HAVE_SWITCH_STATEMENT
> >
> >      for the benefit of client code that doesn't use configure
> >      scripts.
> 
> 
> Perhaps just exposing the major and minor version of the GCC supporting 
> that GCCJIT is enough (like it was done for plugins, e.g. 
> GCCPLUGIN_VERSION etc)?

That approach rapidly gets messy if we backport anything; doing it by
feature seems saner.

Reply via email to