From 40f7e9ce20e845ce2372347e5b5fd4dbff69ef6e Mon Sep 17 00:00:00 2001 From: stijn Date: Thu, 18 Apr 2024 12:01:45 +0200 Subject: [PATCH] py/objfun: Fix C++ compatibility with casting in inline functions. Explicit casts are needed. Fixes recent changes from 648a7578da21cc7ddb4046fc59891144e797b983 and 9400229766624e80db6a6f95af287a5542dc1b43. Signed-off-by: stijn --- py/objfun.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/py/objfun.h b/py/objfun.h index af7c334858..f16ef76b80 100644 --- a/py/objfun.h +++ b/py/objfun.h @@ -56,14 +56,14 @@ void mp_obj_fun_bc_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest); #if MICROPY_EMIT_NATIVE static inline mp_obj_t mp_obj_new_fun_native(const mp_obj_t *def_args, const void *fun_data, const mp_module_context_t *mc, struct _mp_raw_code_t *const *child_table) { - mp_obj_fun_bc_t *o = MP_OBJ_TO_PTR(mp_obj_new_fun_bc(def_args, (const byte *)fun_data, mc, child_table)); + mp_obj_fun_bc_t *o = (mp_obj_fun_bc_t *)MP_OBJ_TO_PTR(mp_obj_new_fun_bc(def_args, (const byte *)fun_data, mc, child_table)); o->base.type = &mp_type_fun_native; return MP_OBJ_FROM_PTR(o); } static inline mp_obj_t mp_obj_new_fun_viper(const void *fun_data, const mp_module_context_t *mc, struct _mp_raw_code_t *const *child_table) { mp_obj_fun_bc_t *o = mp_obj_malloc(mp_obj_fun_bc_t, &mp_type_fun_viper); - o->bytecode = fun_data; + o->bytecode = (const byte *)fun_data; o->context = mc; o->child_table = child_table; return MP_OBJ_FROM_PTR(o); @@ -101,9 +101,9 @@ static inline void *mp_obj_fun_native_get_generator_resume(const mp_obj_fun_bc_t #if MICROPY_EMIT_INLINE_ASM static inline mp_obj_t mp_obj_new_fun_asm(size_t n_args, const void *fun_data, mp_uint_t type_sig) { - mp_obj_fun_asm_t *o = mp_obj_malloc(mp_obj_fun_asm_t, &mp_type_fun_asm); + mp_obj_fun_asm_t *o = (mp_obj_fun_asm_t *)mp_obj_malloc(mp_obj_fun_asm_t, &mp_type_fun_asm); o->n_args = n_args; - o->fun_data = fun_data; + o->fun_data = (const byte *)fun_data; o->type_sig = type_sig; return MP_OBJ_FROM_PTR(o); }