wish: gcc_jit_type_get_atomic
Basile Starynkevitch
basile@starynkevitch.net
Fri Jan 1 00:00:00 GMT 2016
On 05/20/2016 01:46 PM, Basile Starynkevitch wrote:
>
> My feeling (but I might be wrong) is that GCCJIT should give some way
> to retrieve that __ATOMIC_SEQ_CST. Apparently it is a magic
> preprocessor symbol (perhaps GCC specific!) implemented in
> gcc/cppbuiltin.c (near line 68, defined as MEMMODEL_SEQ_CST); but if I
> understand correctly GCCJIT does not give access to the compiler's
> magic preprocessor symbols.
>
> I feel that GCCJIT might want to have a function like
> int gccjit_atomic_seq_cst_value(); // value of __ATOMIC_SEQ_CST in the
> GCC used by GCCJIT
> or perhaps a more general function
> int gccjit_compiler_magic_int(const char*);
> that I would call as gccjit_compiler_magic_int("__ATOMIC_SEQ_CST");
FWIW, there is a dirty hack to get that. On a Debian system with both
libgccjit-6-dev & gcc-6-plugin-dev packages installed the
/usr/lib/gcc/x86_64-linux-gnu/6/plugin/include/coretypes.h header file
(provided by libgccjit-6-dev) defines an enum memmodel with
MEMMODEL_SEQ_CST = 5; So I guess that I could use that MEMMODEL_SEQ_CST
as an argument to gcc_jit_context_new_rvalue_from_int.
But some distributions don't package GCC plugin headers (in particular,
in the past, some GCC versions on some Redhat systems disabled plugins
in GCC; I don't know if that is true today). And at least, it is not
documented that GCCJIT is related to GCC plugins.
Regards.
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mine, sont seulement les miennes} ***
More information about the Jit
mailing list