Andrea Corallo writes:
> Hi Dave, > last version for this patch addressing the suggestion about the > JIT_BIT_FIELD macros comment description. > > Thank you for all the suggestions. > > Regarding the write access please see my previous answer into the binary > op patch thread. > > Bests > Andrea > > > 2019-06-20 Andrea Corallo andrea.cora...@arm.com > > * docs/topics/compatibility.rst (LIBGCCJIT_ABI_12): New ABI tag. > * docs/topics/types.rst: Add gcc_jit_context_new_bitfield. > * jit-common.h (namespace recording): Add class bitfield. > * jit-playback.c: > (DECL_JIT_BIT_FIELD, SET_DECL_JIT_BIT_FIELD): Add macros. > (playback::context::new_bitfield): New method. > (playback::compound_type::set_fields): Add bitfield support. > (playback::lvalue::mark_addressable): Was jit_mark_addressable make this > a method of lvalue plus return a bool to communicate success. > (playback::lvalue::get_address): Check for jit_mark_addressable return > value. > * jit-playback.h (new_bitfield): New method. > (class bitfield): New class. > (class lvalue): Add jit_mark_addressable method. > * jit-recording.c (recording::context::new_bitfield): New method. > (recording::bitfield::replay_into): New method. > (recording::bitfield::write_to_dump): Likewise. > (recording::bitfield::make_debug_string): Likewise. > (recording::bitfield::write_reproducer): Likewise. > * jit-recording.h (class context): Add new_bitfield method. > (class field): Make it derivable by class bitfield. > (class bitfield): Add new class. > * libgccjit++.h (class context): Add new_bitfield method. > * libgccjit.c (struct gcc_jit_bitfield): New structure. > (gcc_jit_context_new_bitfield): New function. > * libgccjit.h > (LIBGCCJIT_HAVE_gcc_jit_context_new_bitfield) New macro. > (gcc_jit_context_new_bitfield): New function. > * libgccjit.map (LIBGCCJIT_ABI_12) New ABI tag. > > > 2019-06-20 Andrea Corallo andrea.cora...@arm.com > > * jit.dg/all-non-failing-tests.h: Add test-accessing-bitfield.c. > * jit.dg/test-accessing-bitfield.c: New testcase. > * jit.dg/test-error-gcc_jit_context_new_bitfield-invalid-type.c: > Likewise. > * jit.dg/test-error-gcc_jit_context_new_bitfield-invalid-width.c: > Likewise. > * jit.dg/test-error-gcc_jit_lvalue_get_address-bitfield.c: > Likewise. Hi all, committed into trunk as r273086. Bests Andrea