diff --git a/src/eval/eval_ir.c b/src/eval/eval_ir.c index b3aa726c..da9157cb 100644 --- a/src/eval/eval_ir.c +++ b/src/eval/eval_ir.c @@ -574,6 +574,7 @@ E_TYPE_ACCESS_FUNCTION_DEF(default) // rjf: ops to compute the final address new_tree = e_irtree_binary_op_u(arena, RDI_EvalOp_Add, offset_tree, base_tree); + mode = E_Mode_Offset; } } diff --git a/src/eval/eval_parse.c b/src/eval/eval_parse.c index ed79b907..a82b01db 100644 --- a/src/eval/eval_parse.c +++ b/src/eval/eval_parse.c @@ -1023,7 +1023,7 @@ e_push_parse_from_string_tokens__prec(Arena *arena, String8 text, E_TokenArray t //////////////////////// //- rjf: descent to assembly-style dereference sub-expression [...] // - if(!got_new_atom) + if(atom == &e_expr_nil && !got_new_atom) { E_Token token = e_token_at_it(it, &tokens); String8 token_string = str8_substr(text, token.range);