Open MitalAshok opened 2 weeks ago
@llvm/pr-subscribers-clang
Author: Mital Ashok (MitalAshok)
Some choices I've made:
TargetCXXABI::TailPaddingUseRules
and TargetCXXABI::getTailPaddingUseRules()
. Now there are 5 distinct tail padding rules (7 if you count tail padding rules that change with -fclang-abi-compat=18.0
), and it was only used in the mustSkipTailPadding
function anyways.
AppleARM64
/WatchOS
/iOS
don't skip tail padding for types with potentially-overlapping members as well as the oversized bit-fields they were documented to ignore.XL
and Fuchsia
are also unchanged, for no particular reason other than I could not find what the ABI for C++ layout was supposed to be
This will be done for types with over-large bitfields and potentially-overlapping ([[no_unique_address]]) members
Compatible with old Clang 18 semantics with -fclang-abi-compat
Fixes #50766