Improve union detection

This commit is contained in:
Benjamin Moir 2024-01-10 03:49:24 +10:00
parent 6c0135789a
commit 0b451b8764

View File

@ -1429,9 +1429,14 @@ fn get_anon_unions(info: &DwarfInfo, members: &[StructureMember]) -> Result<Vec<
continue; continue;
} }
} }
if members[prev].offset == member.offset && member.offset != offset { if member.offset <= members[prev].offset && member.offset != offset {
offset = member.offset; offset = member.offset;
unions.push(AnonUnion { offset, member_index: prev, member_count: 0 }); for (i, member) in members.iter().enumerate() {
if member.offset == offset {
unions.push(AnonUnion { offset, member_index: i, member_count: 0 });
break;
}
}
} }
} }
for anon in &mut unions { for anon in &mut unions {