[clang] [Clang] Reuse tail-padding for more types that are not POD for the purpose of layout (PR #90462)
Mital Ashok via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 29 05:39:21 PDT 2024
MitalAshok wrote:
Some choices I've made:
* Removed `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.
* Ignored a comment that the Clang WebAssembley ABI should ignore bit-field sizes. I don't think that was actually true, but it didn't matter before because we didn't check bit-field sizes.
* `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
https://github.com/llvm/llvm-project/pull/90462
More information about the cfe-commits
mailing list