aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index aa4bd86b0..bf7c8c260 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -5531,6 +5531,10 @@ irAddr ir_build_addr(irProcedure *proc, AstNode *expr) {
if (is_type_map(t)) {
irValue *map_val = ir_build_addr_ptr(proc, ie->expr);
+ if (deref) {
+ map_val = ir_emit_load(proc, map_val);
+ }
+
irValue *key = ir_build_expr(proc, ie->index);
key = ir_emit_conv(proc, key, t->Map.key);