diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2024-03-25 13:29:08 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-25 13:29:08 +0000 |
| commit | 600ca83386c473aeae8c93fce34d4d1d3ab7d636 (patch) | |
| tree | c88cac66cae8369207254488e7a7b9f09a4fb54d /src/check_type.cpp | |
| parent | e5629dafd0be1be42a3bd183a09ff82492b6b386 (diff) | |
| parent | 6d4f30de1a85fe51159808d70a342c1c915d15de (diff) | |
Merge pull request #3326 from rick-masters/fix_fields_wait_signal
Fix fields_wait_signal futex.
Diffstat (limited to 'src/check_type.cpp')
| -rw-r--r-- | src/check_type.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/check_type.cpp b/src/check_type.cpp index e22d4b62b..0f63d8bcb 100644 --- a/src/check_type.cpp +++ b/src/check_type.cpp @@ -2491,6 +2491,7 @@ gb_internal Type *get_map_cell_type(Type *type) { s->Struct.fields[0] = alloc_entity_field(scope, make_token_ident("v"), alloc_type_array(type, len), false, 0, EntityState_Resolved); s->Struct.fields[1] = alloc_entity_field(scope, make_token_ident("_"), alloc_type_array(t_u8, padding), false, 1, EntityState_Resolved); s->Struct.scope = scope; + wait_signal_set(&s->Struct.fields_wait_signal); gb_unused(type_size_of(s)); return s; @@ -2521,6 +2522,7 @@ gb_internal void init_map_internal_types(Type *type) { metadata_type->Struct.fields[4] = alloc_entity_field(metadata_scope, make_token_ident("value_cell"), value_cell, false, 4, EntityState_Resolved); metadata_type->Struct.scope = metadata_scope; metadata_type->Struct.node = nullptr; + wait_signal_set(&metadata_type->Struct.fields_wait_signal); gb_unused(type_size_of(metadata_type)); @@ -2538,6 +2540,7 @@ gb_internal void init_map_internal_types(Type *type) { debug_type->Struct.fields[3] = alloc_entity_field(scope, make_token_ident("__metadata"), metadata_type, false, 3, EntityState_Resolved); debug_type->Struct.scope = scope; debug_type->Struct.node = nullptr; + wait_signal_set(&debug_type->Struct.fields_wait_signal); gb_unused(type_size_of(debug_type)); @@ -2833,6 +2836,7 @@ gb_internal Type *make_soa_struct_internal(CheckerContext *ctx, Ast *array_typ_e add_entity(ctx, scope, nullptr, base_type_entity); add_type_info_type(ctx, soa_struct); + wait_signal_set(&soa_struct->Struct.fields_wait_signal); return soa_struct; } |