diff options
Diffstat (limited to 'py/compile.c')
-rw-r--r-- | py/compile.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/py/compile.c b/py/compile.c index 6fffd9c0b..5c2fce686 100644 --- a/py/compile.c +++ b/py/compile.c @@ -2439,7 +2439,12 @@ STATIC void compile_bytes(compiler_t *comp, mp_parse_node_struct_t *pns) { } STATIC void compile_const_object(compiler_t *comp, mp_parse_node_struct_t *pns) { + #if MICROPY_OBJ_REPR == MICROPY_OBJ_REPR_D + // nodes are 32-bit pointers, but need to extract 64-bit object + EMIT_ARG(load_const_obj, (uint64_t)pns->nodes[0] | ((uint64_t)pns->nodes[1] << 32)); + #else EMIT_ARG(load_const_obj, (mp_obj_t)pns->nodes[0]); + #endif } typedef void (*compile_function_t)(compiler_t*, mp_parse_node_struct_t*); |