Function pointer handling
Bartosz Szreder
bartosz.szreder@huuugegames.com
Sun Jan 1 00:00:00 GMT 2017
I have some questions regarding pointers to functions in current (7.2)
version of GCC-JIT.
1. The documentation doesn't mention existence of
gcc_jit_context_new_function_ptr_type() as a mechanism of handling
function pointers, yet contains
gcc_jit_context_new_call_through_ptr().
- Is the former function unsupported/buggy in some way and is not
indented for general use, or just lacks proper documentation?
- What is the proper way of obtaining a function pointer to be passed
to gcc_jit_context_new_call_through_ptr()? There doesn't seem to be
any counterpart to gcc_jit_lvalue_get_address() for functions. As the
name suggests, gcc_jit_lvalue_get_address() works on an L-value and
gcc_jit_function type isn't an ancestor of gcc_jit_lvalue in the
internal type system, therefore upcasting is impossible.
2. Is it safe to pass a function pointer as a GCC_JIT_TYPE_VOID_PTR
and use gcc_jit_context_new_call_through_ptr() on such value?
Thanks,
Bartosz Szreder
More information about the Jit
mailing list