From 04cce1826b649e4780e4673f68f9f5e5299f5aaf Mon Sep 17 00:00:00 2001 From: gingerBill Date: Tue, 28 Nov 2017 23:46:01 +0000 Subject: [PATCH] Fix map IR bug --- core/fmt.odin | 2 +- src/ir.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/fmt.odin b/core/fmt.odin index 39ddfa851..c14462004 100644 --- a/core/fmt.odin +++ b/core/fmt.odin @@ -835,7 +835,7 @@ fmt_value :: proc(fi: ^Fmt_Info, v: any, verb: rune) { write_string(fi.buf, "map["); defer write_byte(fi.buf, ']'); - entries := &((cast(^raw.Map)v.data).entries); + entries := &(^raw.Map)(v.data).entries; gs := type_info_base(info.generated_struct).variant.(Type_Info_Struct); ed := type_info_base(gs.types[1]).variant.(Type_Info_Dynamic_Array); entry_type := ed.elem.variant.(Type_Info_Struct); diff --git a/src/ir.cpp b/src/ir.cpp index 83304596f..1b2705d04 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -7006,7 +7006,7 @@ void ir_build_stmt_internal(irProcedure *proc, AstNode *node) { } irValue *entries_ptr = ir_emit_struct_ep(proc, map, 1); irValue *count_ptr = ir_emit_struct_ep(proc, entries_ptr, 1); - ir_build_range_indexed(proc, map, val0_type, count_ptr, &val, &key, &loop, &done); + ir_build_range_indexed(proc, map, val1_type, count_ptr, &val, &key, &loop, &done); break; } case Type_Array: {