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