diff options
-rw-r--r-- | src/bytecode.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bytecode.h b/src/bytecode.h index 9d443fe5..ff626bba 100644 --- a/src/bytecode.h +++ b/src/bytecode.h @@ -518,7 +518,7 @@ enum LEL_ID { ( ( (sp-(n)) < prg->sb_beg ? (sp = vm_bs_add(prg, sp, n)) : 0 ), (sp -= (n)) ) #define vm_pop_type(type) \ - ({ SW r = *sp; (sp+1) >= prg->sb_end ? (sp = vm_bs_pop(prg, sp, 1)) : (sp += 1); (type)r; }) + ({ type r = *((type*)sp); (sp+1) >= prg->sb_end ? (sp = vm_bs_pop(prg, sp, 1)) : (sp += 1); r; }) #define vm_push_tree(i) vm_push_type(tree_t*, i) #define vm_push_input(i) vm_push_type(input_t*, i) |