fix padding insertion pass over members gathering

This commit is contained in:
Ryan Fleury
2024-02-27 06:35:11 -08:00
parent bb0ebb5df2
commit 56690a703f
+4 -4
View File
@@ -1091,11 +1091,11 @@ tg_data_members_from_graph_rdi_key(Arena *arena, TG_Graph *graph, RDI_Parsed *rd
{ {
if(members.count+padding_idx > n->prev_member_idx+1) if(members.count+padding_idx > n->prev_member_idx+1)
{ {
MemoryCopy(new_members.v + n->prev_member_idx + 2, MemoryCopy(new_members.v + n->prev_member_idx + padding_idx + 2,
new_members.v + n->prev_member_idx + 1, new_members.v + n->prev_member_idx + padding_idx + 1,
sizeof(TG_Member) * (members.count + padding_idx - (n->prev_member_idx+1))); sizeof(TG_Member) * (members.count + padding_idx - (n->prev_member_idx + padding_idx + 1)));
} }
TG_Member *padding_member = &new_members.v[n->prev_member_idx+1]; TG_Member *padding_member = &new_members.v[n->prev_member_idx+padding_idx+1];
MemoryZeroStruct(padding_member); MemoryZeroStruct(padding_member);
padding_member->kind = TG_MemberKind_Padding; padding_member->kind = TG_MemberKind_Padding;
padding_member->type_key = tg_cons_type_make(graph, TG_Kind_Array, tg_key_basic(TG_Kind_U8), n->size); padding_member->type_key = tg_cons_type_make(graph, TG_Kind_Array, tg_key_basic(TG_Kind_U8), n->size);