Hi all, Updated version of the patch mainly addressing comments on the concurrency issues. I came to the conclusions that the caching should be done in the function that we decide to be thread safe. However I haven't touched parse_basever in any direction in the hope of having this still in stage4. As result I've mostly applied the mutex solution. 'make check-jit' runs clean Bests Andrea gcc/jit/ChangeLog 2020-??-?? Andrea Corallo David Malcolm * docs/topics/compatibility.rst (LIBGCCJIT_ABI_13): New ABI tag plus add version paragraph. * libgccjit++.h (namespace gccjit::version): Add new namespace. * libgccjit.c (gcc_jit_version_major, gcc_jit_version_minor) (gcc_jit_version_patchlevel): New functions. * libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_version): New macro. (gcc_jit_version_major, gcc_jit_version_minor) (gcc_jit_version_patchlevel): New functions. * libgccjit.map (LIBGCCJIT_ABI_13) New ABI tag. gcc/testsuite/ChangeLog 2020-??-?? Andrea Corallo * jit.dg/test-version.c: New testcase. * jit.dg/all-non-failing-tests.h: Add test-version.c.