Fix typeid size for 32-bit platforms

This commit is contained in:
gingerBill
2025-02-20 17:10:04 +00:00
parent 4ece0617bc
commit 614c0dd740
2 changed files with 5 additions and 3 deletions
+2
View File
@@ -442,10 +442,12 @@ Raw_Any :: struct {
data: rawptr, data: rawptr,
id: typeid, id: typeid,
} }
#assert(size_of(Raw_Any) == size_of(any))
Raw_Cstring :: struct { Raw_Cstring :: struct {
data: [^]byte, data: [^]byte,
} }
#assert(size_of(Raw_Cstring) == size_of(cstring))
Raw_Soa_Pointer :: struct { Raw_Soa_Pointer :: struct {
data: rawptr, data: rawptr,
+3 -3
View File
@@ -3701,7 +3701,7 @@ gb_internal i64 type_size_of(Type *t) {
case Basic_string: size = 2*build_context.int_size; break; case Basic_string: size = 2*build_context.int_size; break;
case Basic_cstring: size = build_context.ptr_size; break; case Basic_cstring: size = build_context.ptr_size; break;
case Basic_any: size = 16; break; case Basic_any: size = 16; break;
case Basic_typeid: size = build_context.ptr_size; break; case Basic_typeid: size = 8; break;
case Basic_int: case Basic_uint: case Basic_int: case Basic_uint:
size = build_context.int_size; size = build_context.int_size;
@@ -3764,7 +3764,7 @@ gb_internal i64 type_align_of_internal(Type *t, TypePath *path) {
case Basic_string: return build_context.int_size; case Basic_string: return build_context.int_size;
case Basic_cstring: return build_context.ptr_size; case Basic_cstring: return build_context.ptr_size;
case Basic_any: return 8; case Basic_any: return 8;
case Basic_typeid: return build_context.ptr_size; case Basic_typeid: return 8;
case Basic_int: case Basic_uint: case Basic_int: case Basic_uint:
return build_context.int_size; return build_context.int_size;
@@ -4015,7 +4015,7 @@ gb_internal i64 type_size_of_internal(Type *t, TypePath *path) {
case Basic_string: return 2*build_context.int_size; case Basic_string: return 2*build_context.int_size;
case Basic_cstring: return build_context.ptr_size; case Basic_cstring: return build_context.ptr_size;
case Basic_any: return 16; case Basic_any: return 16;
case Basic_typeid: return build_context.ptr_size; case Basic_typeid: return 8;
case Basic_int: case Basic_uint: case Basic_int: case Basic_uint:
return build_context.int_size; return build_context.int_size;