aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_stmt.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-11-08 15:07:57 +0000
committergingerBill <bill@gingerbill.org>2022-11-08 15:07:57 +0000
commit0819d05a0b42e9e03943344bcb316ffb65a90029 (patch)
tree03cc063d097e4587ee4f7cecdf15f2a53852eafa /src/llvm_backend_stmt.cpp
parent6a4e44607ceb6098d5e3a5cd4e7277d9a4e9c3ab (diff)
Fix `for in` for `map`
Diffstat (limited to 'src/llvm_backend_stmt.cpp')
-rw-r--r--src/llvm_backend_stmt.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm_backend_stmt.cpp b/src/llvm_backend_stmt.cpp
index 6b83068ce..ec7a162cb 100644
--- a/src/llvm_backend_stmt.cpp
+++ b/src/llvm_backend_stmt.cpp
@@ -461,8 +461,8 @@ void lb_build_range_map(lbProcedure *p, lbValue expr, Type *val_type,
idx = lb_addr_load(p, index);
lbValue ks = lb_map_data_uintptr(p, map_value);
- lbValue vs = lb_map_cell_index_static(p, type->Map.key, ks, capacity);
- lbValue hs = lb_map_cell_index_static(p, type->Map.value, vs, capacity);
+ lbValue vs = lb_emit_conv(p, lb_map_cell_index_static(p, type->Map.key, ks, capacity), alloc_type_pointer(type->Map.value));
+ lbValue hs = lb_emit_conv(p, lb_map_cell_index_static(p, type->Map.value, vs, capacity), alloc_type_pointer(t_uintptr));
// NOTE(bill): no need to use lb_map_cell_index_static for that hashes
// since it will always be packed without padding into the cells