]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgccjit: Add gcc_jit_global_set_readonly
authorAntoni Boucher <bouanto@zoho.com>
Tue, 24 May 2022 21:45:01 +0000 (17:45 -0400)
committerAntoni Boucher <bouanto@zoho.com>
Mon, 4 Nov 2024 19:32:46 +0000 (14:32 -0500)
commit7bb75a5edc1b3c90500e2a78124feac7beefacad
treec7cd9b05b6e44353b7ac7df7017f8304f9f15fdc
parente995866cff2866512cd3af24b6ca27a5782aca1f
libgccjit: Add gcc_jit_global_set_readonly

gcc/jit/ChangeLog:

* docs/topics/compatibility.rst (LIBGCCJIT_ABI_29): New ABI tag.
* docs/topics/expressions.rst: Document gcc_jit_global_set_readonly.
* jit-playback.cc (global_new_decl, new_global,
new_global_initialized): New parameter readonly.
* jit-playback.h (global_new_decl, new_global,
new_global_initialized): New parameter readonly.
* jit-recording.cc (recording::global::replay_into): Use
m_readonly.
(recording::global::write_reproducer): Dump reproducer for
gcc_jit_global_set_readonly.
* jit-recording.h (get_readonly, set_readonly): New methods.
(m_readonly): New attribute.
* libgccjit.cc (gcc_jit_global_set_readonly): New function.
(gcc_jit_block_add_assignment): Check that we don't assign to a
readonly variable.
* libgccjit.h (gcc_jit_global_set_readonly): New function.
(LIBGCCJIT_HAVE_gcc_jit_global_set_readonly): New define.
* libgccjit.map: New function.

gcc/testsuite/ChangeLog:

* jit.dg/all-non-failing-tests.h: Mention test-readonly.c.
* jit.dg/test-error-assign-readonly.c: New test.
* jit.dg/test-readonly.c: New test.
12 files changed:
gcc/jit/docs/topics/compatibility.rst
gcc/jit/docs/topics/expressions.rst
gcc/jit/jit-playback.cc
gcc/jit/jit-playback.h
gcc/jit/jit-recording.cc
gcc/jit/jit-recording.h
gcc/jit/libgccjit.cc
gcc/jit/libgccjit.h
gcc/jit/libgccjit.map
gcc/testsuite/jit.dg/all-non-failing-tests.h
gcc/testsuite/jit.dg/test-error-assign-readonly.c [new file with mode: 0644]
gcc/testsuite/jit.dg/test-readonly.c [new file with mode: 0644]