aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2020-11-26 10:19:45 +0000
committergingerBill <bill@gingerbill.org>2020-11-26 10:19:45 +0000
commitc77098a91c9d536f4aa1702050cabb7fb752c324 (patch)
treeaa60dc9aa9fa8a25c200ee8a59c942f727213689
parent89cceb910a167e4745ed6f34af269b7a2f1b0849 (diff)
Fix for in enum type
-rw-r--r--src/ir.cpp2
-rw-r--r--src/llvm_backend.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index b545e7ce3..9607f8ce7 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -10104,7 +10104,7 @@ void ir_build_range_enum(irProcedure *proc, Type *enum_type, Type *val_type, irV
irValue *max_count = ir_const_int(enum_count);
irValue *ti = ir_type_info(proc, t);
- irValue *variant = ir_emit_struct_ep(proc, ti, 3);
+ irValue *variant = ir_emit_struct_ep(proc, ti, 4);
irValue *eti_ptr = ir_emit_conv(proc, variant, t_type_info_enum_ptr);
irValue *values = ir_emit_load(proc, ir_emit_struct_ep(proc, eti_ptr, 2));
irValue *values_data = ir_slice_elem(proc, values);
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 2f84ce263..57385a9d6 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -3528,7 +3528,7 @@ void lb_build_range_enum(lbProcedure *p, Type *enum_type, Type *val_type, lbValu
lbValue max_count = lb_const_int(m, t_int, enum_count);
lbValue ti = lb_type_info(m, t);
- lbValue variant = lb_emit_struct_ep(p, ti, 3);
+ lbValue variant = lb_emit_struct_ep(p, ti, 4);
lbValue eti_ptr = lb_emit_conv(p, variant, t_type_info_enum_ptr);
lbValue values = lb_emit_load(p, lb_emit_struct_ep(p, eti_ptr, 2));
lbValue values_data = lb_slice_elem(p, values);