On Sat, 2019-02-02 at 08:26 +0100, Richard Biener wrote: > On February 1, 2019 10:11:12 PM GMT+01:00, David Malcolm <dmalcolm@re > dhat.com> wrote: > > On Mon, 2019-01-21 at 08:40 +0000, Andrea Corallo wrote: > > > Hi all, > > > Second version of the patch addressing David's comment about all- > > > non- > > > failing-tests.h > > > > > > Adds gcc_jit_context_add_driver_option to the libgccjit ABI and a > > > testcase for it. > > > > > > Using this interface is now possible to pass options affecting > > > assembler and linker. > > > > > > Does not introduce regressions running make check-jit > > > > Thanks; the patch looks good. > > > > [CCing the release managers] > > > > Given that gcc development is now in stage 4, we really shouldn't > > be > > adding new features, but I'm wondering if an exception can be made > > for > > libgccjit? (this patch purely touches the jit subdirectories). > > > > There's one other late-breaking change, here: > > [PATCH][jit] Add thread-local globals to the libgccjit frontend > > https://gcc.gnu.org/ml/gcc-patches/2019-01/msg00227.html > > which is nearly ready, but is awaiting copyright assignment > > paperwork. > > > > Alternatively, should these patches go into a branch of queued jit > > changes for gcc 10? > > Is there anything like an ABI involved? If so we should avoid > breaking it all the time. Otherwise JIT is not release critical and > thus if you break it in the wrong moment it's your own fault.
The two patches each add a new API entrypoint, but libgccjit uses symbol-versioning to extend the ABI, without bumping the SONAME: https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html So it's not an ABI break as such. Dave > Richard. > > > Thanks > > Dave > > > > > > > Bests > > > > > > Andrea > > > > > > > > > gcc/jit/ChangeLog > > > 2019-01-16 Andrea Corallo andrea.cora...@arm.com > > > > > > * docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag. > > > * docs/topics/contexts.rst (Additional driver options): New > > > section. > > > * jit-playback.c (invoke_driver): Add call to > > > append_driver_options. > > > * jit-recording.c: Within namespace gcc::jit... > > > (recording::context::~context): Free the optnames within > > > m_driver_options. > > > (recording::context::add_driver_option): New method. > > > (recording::context::append_driver_options): New method. > > > (recording::context::dump_reproducer_to_file): Add driver > > > options. > > > * jit-recording.h: Within namespace gcc::jit... > > > (recording::context::add_driver_option): New method. > > > (recording::context::append_driver_options): New method. > > > (recording::context::m_driver_options): New field. > > > * libgccjit++.h (gccjit::context::add_driver_option): New > > > method. > > > * libgccjit.c (gcc_jit_context_add_driver_option): New API > > > entrypoint. > > > * libgccjit.h (gcc_jit_context_add_driver_option): New API > > > entrypoint. > > > (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New > > > macro. > > > * libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag. > > > > > > > > > > > > gcc/testsuite/ChangeLog > > > 2019-01-16 Andrea Corallo andrea.cora...@arm.com > > > > > > * jit.dg/add-driver-options-testlib.c: Add support file for > > > test-add-driver-options.c testcase. > > > * jit.dg/all-non-failing-tests.h: Add note about > > > test-add-driver-options.c > > > * jit.dg/jit.exp (jit-dg-test): Update to support > > > add-driver-options-testlib.c compilation. > > > * jit.dg/test-add-driver-options.c: New testcase. > > > > >