From: Vibhav Pant Date: Tue, 4 Oct 2022 19:31:50 +0000 (+0530) Subject: Add comment explaining gcc_jit_context_new_bitcast usage. X-Git-Tag: emacs-29.0.90~1856^2~9 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=219cbccb9ac1d25df5534b60c0c6a6071b2303ed;p=emacs.git Add comment explaining gcc_jit_context_new_bitcast usage. --- diff --git a/src/comp.c b/src/comp.c index 794501f11b0..b7541c5d9f7 100644 --- a/src/comp.c +++ b/src/comp.c @@ -1179,6 +1179,11 @@ emit_coerce (gcc_jit_type *new_type, gcc_jit_rvalue *obj) gcc_jit_rvalue *tmp = obj; + /* `gcc_jit_context_new_bitcast` requires that the types being converted + between have the same layout and as such, doesn't allow converting + between an arbitrarily sized integer/boolean and a pointer. Casting it + to a uintptr/void* is still necessary, to ensure that it can be bitcast + into a (void *)/uintptr respectively. */ if (old_is_ptr != new_is_ptr) { if (old_is_ptr)