aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-03-03 12:09:06 +0000
committergingerBill <bill@gingerbill.org>2019-03-03 12:09:06 +0000
commit1652d5033b5fa1fbf75f6c9e049511df41ed77f3 (patch)
tree3bffefe39841917e430793b96c0cabd3e37c05c3 /src/ir.cpp
parent9b4b20e8b11850dc1c0bbd6751e4d4fc2dc04c1a (diff)
parent8fb8b5ed7e9fc7d58483aacdfb01454346ba790b (diff)
Merge branch 'master' of https://github.com/odin-lang/Odin
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index eba159472..e3fe83c3b 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -3215,6 +3215,8 @@ irValue *ir_gen_map_key(irProcedure *proc, irValue *key, Type *key_type) {
key = ir_emit_conv(proc, key, 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)) {
+ 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));