From 219cbccb9ac1d25df5534b60c0c6a6071b2303ed Mon Sep 17 00:00:00 2001 From: Vibhav Pant Date: Wed, 5 Oct 2022 01:01:50 +0530 Subject: [PATCH] Add comment explaining gcc_jit_context_new_bitcast usage. --- src/comp.c | 5 +++++ 1 file changed, 5 insertions(+) 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) -- 2.39.2