aboutsummaryrefslogtreecommitdiff
path: root/src/ir.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2019-12-31 16:54:50 +0000
committergingerBill <bill@gingerbill.org>2019-12-31 16:54:50 +0000
commit978d7fcb999181bc04bb612d19f514d67a823976 (patch)
treec2b95c9989ba7fdd2ba81339519d1d5b6358d0ef /src/ir.cpp
parentb267a5964d014c870ccfa3f068410351d07256fa (diff)
Fix typeid information for enumerated arrays
Diffstat (limited to 'src/ir.cpp')
-rw-r--r--src/ir.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/ir.cpp b/src/ir.cpp
index 4e34a02f8..13f2add13 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -5853,6 +5853,7 @@ enum Typeid_Kind : u8 {
Typeid_Pointer,
Typeid_Procedure,
Typeid_Array,
+ Typeid_Enumerated_Array,
Typeid_Dynamic_Array,
Typeid_Slice,
Typeid_Tuple,
@@ -5890,18 +5891,19 @@ irValue *ir_typeid(irModule *m, Type *type) {
if (flags & BasicFlag_String) kind = Typeid_String;
if (flags & BasicFlag_Rune) kind = Typeid_Rune;
} break;
- case Type_Pointer: kind = Typeid_Pointer; break;
- case Type_Array: kind = Typeid_Array; break;
- case Type_Slice: kind = Typeid_Slice; break;
- case Type_DynamicArray: kind = Typeid_Dynamic_Array; break;
- case Type_Map: kind = Typeid_Map; break;
- case Type_Struct: kind = Typeid_Struct; break;
- case Type_Enum: kind = Typeid_Enum; break;
- case Type_Union: kind = Typeid_Union; break;
- case Type_Tuple: kind = Typeid_Tuple; break;
- case Type_Proc: kind = Typeid_Procedure; break;
- case Type_BitField: kind = Typeid_Bit_Field; break;
- case Type_BitSet: kind = Typeid_Bit_Set; break;
+ case Type_Pointer: kind = Typeid_Pointer; break;
+ case Type_Array: kind = Typeid_Array; break;
+ case Type_EnumeratedArray: kind = Typeid_Enumerated_Array; break;
+ case Type_Slice: kind = Typeid_Slice; break;
+ case Type_DynamicArray: kind = Typeid_Dynamic_Array; break;
+ case Type_Map: kind = Typeid_Map; break;
+ case Type_Struct: kind = Typeid_Struct; break;
+ case Type_Enum: kind = Typeid_Enum; break;
+ case Type_Union: kind = Typeid_Union; break;
+ case Type_Tuple: kind = Typeid_Tuple; break;
+ case Type_Proc: kind = Typeid_Procedure; break;
+ case Type_BitField: kind = Typeid_Bit_Field; break;
+ case Type_BitSet: kind = Typeid_Bit_Set; break;
}
if (is_type_cstring(type)) {