| ... | ... | @@ -695,6 +695,7 @@ pub fn analyzeStructDecl( |
| 695 | 695 | assert(body.len == 0); |
| 696 | 696 | return; |
| 697 | 697 | } |
| 698 | extra_index += body.len; |
| 698 | 699 | |
| 699 | 700 | try struct_obj.fields.ensureCapacity(&new_decl_arena.allocator, fields_len); |
| 700 | 701 | |
| ... | ... | @@ -736,9 +737,8 @@ pub fn analyzeStructDecl( |
| 736 | 737 | const bits_per_field = 4; |
| 737 | 738 | const fields_per_u32 = 32 / bits_per_field; |
| 738 | 739 | const bit_bags_count = std.math.divCeil(usize, fields_len, fields_per_u32) catch unreachable; |
| 739 | | const body_end = extra_index + body.len; |
| 740 | var bit_bag_index: usize = extra_index; |
| 740 | 741 | extra_index += bit_bags_count; |
| 741 | | var bit_bag_index: usize = body_end; |
| 742 | 742 | var cur_bit_bag: u32 = undefined; |
| 743 | 743 | var field_i: u32 = 0; |
| 744 | 744 | while (field_i < fields_len) : (field_i += 1) { |
| ... | ... | @@ -903,9 +903,10 @@ fn zirEnumDecl( |
| 903 | 903 | try new_decl.finalizeNewArena(&new_decl_arena); |
| 904 | 904 | return sema.analyzeDeclVal(block, src, new_decl); |
| 905 | 905 | } |
| 906 | extra_index += body.len; |
| 906 | 907 | |
| 907 | 908 | const bit_bags_count = std.math.divCeil(usize, fields_len, 32) catch unreachable; |
| 908 | | const body_end = extra_index + body.len; |
| 909 | const body_end = extra_index; |
| 909 | 910 | extra_index += bit_bags_count; |
| 910 | 911 | |
| 911 | 912 | try enum_obj.fields.ensureCapacity(&new_decl_arena.allocator, fields_len); |