From b6d6eb6ae2d22935d146df8bc715c580fe5cb321 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Sat, 2 Mar 2019 13:21:01 +0100 Subject: Fix #345: Panic when using enum as map key Also add a little map demo. --- src/ir.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/ir.cpp') diff --git a/src/ir.cpp b/src/ir.cpp index d52b4beaf..e3fe83c3b 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -3216,8 +3216,7 @@ irValue *ir_gen_map_key(irProcedure *proc, irValue *key, Type *key_type) { if (is_type_integer(t)) { ir_emit_store(proc, ir_emit_struct_ep(proc, v, 0), ir_emit_conv(proc, key, hash_type)); } else if (is_type_enum(t)) { - irValue *e = ir_emit_bitcast(proc, key, t_uint); - ir_emit_store(proc, ir_emit_struct_ep(proc, v, 0), ir_emit_conv(proc, e, hash_type)); + ir_emit_store(proc, ir_emit_struct_ep(proc, v, 0), ir_emit_conv(proc, key, hash_type)); } else if (is_type_typeid(t)) { irValue *i = ir_emit_bitcast(proc, key, t_uint); ir_emit_store(proc, ir_emit_struct_ep(proc, v, 0), ir_emit_conv(proc, i, hash_type)); -- cgit v1.2.3