Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Individual `bit_field` size was not being added to the total size.
Error message was changed to be more explicit.
  • Loading branch information
Feoramund committed May 6, 2024
1 parent 15f7148 commit 6ec7845
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/check_type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1080,6 +1080,8 @@ gb_internal void check_bit_field_type(CheckerContext *ctx, Type *bit_field_type,
array_add(&tags, tag);

add_entity_use(ctx, field, e);

total_bit_size += bit_size_u8;
}
}

Expand All @@ -1094,7 +1096,7 @@ gb_internal void check_bit_field_type(CheckerContext *ctx, Type *bit_field_type,

if (total_bit_size > maximum_bit_size) {
gbString s = type_to_string(backing_type);
error(node, "The numbers required %llu exceeds the backing type's (%s) bit size %llu",
error(node, "The total bit size of a bit_field's fields (%llu) must fit into its backing type's (%s) bit size of %llu",
cast(unsigned long long)total_bit_size,
s,
cast(unsigned long long)maximum_bit_size);
Expand Down

0 comments on commit 6ec7845

Please sign in to comment.