mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-03 05:08:14 +00:00
Fix are_types_identical for bit_set
This commit is contained in:
+7
-1
@@ -1325,7 +1325,10 @@ bool are_types_identical(Type *x, Type *y) {
|
|||||||
|
|
||||||
case Type_BitSet:
|
case Type_BitSet:
|
||||||
if (y->kind == Type_BitSet) {
|
if (y->kind == Type_BitSet) {
|
||||||
return are_types_identical(x->BitSet.elem, y->BitSet.elem);
|
return are_types_identical(x->BitSet.elem, y->BitSet.elem) &&
|
||||||
|
are_types_identical(x->BitSet.underlying, y->BitSet.underlying) &&
|
||||||
|
x->BitSet.lower == y->BitSet.lower &&
|
||||||
|
x->BitSet.upper == y->BitSet.upper;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1358,6 +1361,9 @@ bool are_types_identical(Type *x, Type *y) {
|
|||||||
for_array(i, x->Struct.fields) {
|
for_array(i, x->Struct.fields) {
|
||||||
Entity *xf = x->Struct.fields[i];
|
Entity *xf = x->Struct.fields[i];
|
||||||
Entity *yf = y->Struct.fields[i];
|
Entity *yf = y->Struct.fields[i];
|
||||||
|
if (xf->kind != yf->kind) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (!are_types_identical(xf->type, yf->type)) {
|
if (!are_types_identical(xf->type, yf->type)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user