types with zero bits do not have a pointer handle
This commit is contained in:
parent
434f017aee
commit
7bc0145b80
@ -2954,14 +2954,14 @@ bool handle_is_ptr(TypeTableEntry *type_entry) {
|
|||||||
case TypeTableEntryIdArray:
|
case TypeTableEntryIdArray:
|
||||||
case TypeTableEntryIdStruct:
|
case TypeTableEntryIdStruct:
|
||||||
case TypeTableEntryIdUnion:
|
case TypeTableEntryIdUnion:
|
||||||
return true;
|
return type_has_bits(type_entry);
|
||||||
case TypeTableEntryIdErrorUnion:
|
case TypeTableEntryIdErrorUnion:
|
||||||
return type_has_bits(type_entry->data.error.child_type);
|
return type_has_bits(type_entry->data.error.child_type);
|
||||||
case TypeTableEntryIdEnum:
|
case TypeTableEntryIdEnum:
|
||||||
assert(type_entry->data.enumeration.complete);
|
assert(type_entry->data.enumeration.complete);
|
||||||
return type_entry->data.enumeration.gen_field_count != 0;
|
return type_entry->data.enumeration.gen_field_count != 0;
|
||||||
case TypeTableEntryIdMaybe:
|
case TypeTableEntryIdMaybe:
|
||||||
return !type_entry->data.maybe.child_type->zero_bits &&
|
return type_has_bits(type_entry->data.maybe.child_type) &&
|
||||||
type_entry->data.maybe.child_type->id != TypeTableEntryIdPointer &&
|
type_entry->data.maybe.child_type->id != TypeTableEntryIdPointer &&
|
||||||
type_entry->data.maybe.child_type->id != TypeTableEntryIdFn;
|
type_entry->data.maybe.child_type->id != TypeTableEntryIdFn;
|
||||||
case TypeTableEntryIdTypeDecl:
|
case TypeTableEntryIdTypeDecl:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user