From 976415ff9df68ef8b6ecd06d271bef14d63ea90c Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 21 Nov 2017 22:32:41 +0000 Subject: Fix key lookup of pointer to map --- src/ir.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/ir.cpp') 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); -- cgit v1.2.3