mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
Fix lb_emit_array_epi for matrix types
This commit is contained in:
@@ -1168,7 +1168,7 @@ lbValue lb_emit_array_ep(lbProcedure *p, lbValue s, lbValue index) {
|
|||||||
Type *t = s.type;
|
Type *t = s.type;
|
||||||
GB_ASSERT_MSG(is_type_pointer(t), "%s", type_to_string(t));
|
GB_ASSERT_MSG(is_type_pointer(t), "%s", type_to_string(t));
|
||||||
Type *st = base_type(type_deref(t));
|
Type *st = base_type(type_deref(t));
|
||||||
GB_ASSERT_MSG(is_type_array(st) || is_type_enumerated_array(st), "%s", type_to_string(st));
|
GB_ASSERT_MSG(is_type_array(st) || is_type_enumerated_array(st) || is_type_matrix(st), "%s", type_to_string(st));
|
||||||
GB_ASSERT_MSG(is_type_integer(core_type(index.type)), "%s", type_to_string(index.type));
|
GB_ASSERT_MSG(is_type_integer(core_type(index.type)), "%s", type_to_string(index.type));
|
||||||
|
|
||||||
LLVMValueRef indices[2] = {};
|
LLVMValueRef indices[2] = {};
|
||||||
@@ -1186,7 +1186,7 @@ lbValue lb_emit_array_epi(lbProcedure *p, lbValue s, isize index) {
|
|||||||
Type *t = s.type;
|
Type *t = s.type;
|
||||||
GB_ASSERT(is_type_pointer(t));
|
GB_ASSERT(is_type_pointer(t));
|
||||||
Type *st = base_type(type_deref(t));
|
Type *st = base_type(type_deref(t));
|
||||||
GB_ASSERT_MSG(is_type_array(st) || is_type_enumerated_array(st), "%s", type_to_string(st));
|
GB_ASSERT_MSG(is_type_array(st) || is_type_enumerated_array(st) || is_type_matrix(st), "%s", type_to_string(st));
|
||||||
|
|
||||||
GB_ASSERT(0 <= index);
|
GB_ASSERT(0 <= index);
|
||||||
Type *ptr = base_array_type(st);
|
Type *ptr = base_array_type(st);
|
||||||
|
|||||||
Reference in New Issue
Block a user