libgccjit: Add gcc_jit_type_set_indirect_return and its getter

Add gcc_jit_type_set_indirect_return, which makes functions called
through the given function pointer type return their value in memory,
so that such calls use the same calling convention as direct calls to
a function on which gcc_jit_function_set_indirect_return was called.
It is an error to call it on a type that is not a pointer to a
function.  Also add gcc_jit_type_is_indirect_return to query the flag,
which lets client code assert the consistency of its function pointer
types at every indirect call site.

With these properly named entry points in place, revert the special
case that made gcc_jit_type_set_addressable forward the flag for
function pointer types: each entry point now has exactly one meaning.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 files changed