diff options
Diffstat (limited to 'src/tilde_expr.cpp')
| -rw-r--r-- | src/tilde_expr.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tilde_expr.cpp b/src/tilde_expr.cpp index 3fa084e1a..9910801bd 100644 --- a/src/tilde_expr.cpp +++ b/src/tilde_expr.cpp @@ -50,6 +50,10 @@ gb_internal cgValue cg_build_expr(cgProcedure *p, Ast *expr) { } cgValue res = cg_build_expr_internal(p, expr); + if (res.kind == cgValue_Symbol) { + GB_ASSERT(is_type_pointer(res.type)); + res = cg_value(tb_inst_get_symbol_address(p->func, res.symbol), res.type); + } if (expr->state_flags & StateFlag_SelectorCallExpr) { // map_set(&p->selector_values, expr, res); |