1
Fork 0

aarch64-linux: properly handle 128bit aligned aggregates

This commit is contained in:
Erik Desjardins 2023-06-14 22:39:11 -04:00
parent 7e933b4e26
commit d1e764cb3b
15 changed files with 370 additions and 48 deletions

View file

@ -259,6 +259,7 @@ fn layout_of_uncached<'tcx>(
align: element.align,
size,
repr_align: None,
unadjusted_abi_align: element.align.abi,
})
}
ty::Slice(element) => {
@ -271,6 +272,7 @@ fn layout_of_uncached<'tcx>(
align: element.align,
size: Size::ZERO,
repr_align: None,
unadjusted_abi_align: element.align.abi,
})
}
ty::Str => tcx.mk_layout(LayoutS {
@ -281,6 +283,7 @@ fn layout_of_uncached<'tcx>(
align: dl.i8_align,
size: Size::ZERO,
repr_align: None,
unadjusted_abi_align: dl.i8_align.abi,
}),
// Odd unit types.
@ -435,6 +438,7 @@ fn layout_of_uncached<'tcx>(
size,
align,
repr_align: None,
unadjusted_abi_align: align.abi,
})
}
@ -884,6 +888,7 @@ fn generator_layout<'tcx>(
size,
align,
repr_align: None,
unadjusted_abi_align: align.abi,
});
debug!("generator layout ({:?}): {:#?}", ty, layout);
Ok(layout)