diff options
author | Michael Buch <michaelbuch12@gmail.com> | 2024-06-29 08:38:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-29 08:38:17 +0100 |
commit | ed9584457def4a51596b9d72ce76a1bfed88fa30 (patch) | |
tree | 614db4e3772a85f6e1346c1069f4f67eb006d450 /llvm/unittests/Support/MathExtrasTest.cpp | |
parent | a7bf4124bfd2c740c0a9a06d2b53e4d7c91dac10 (diff) | |
download | llvm-ed9584457def4a51596b9d72ce76a1bfed88fa30.zip llvm-ed9584457def4a51596b9d72ce76a1bfed88fa30.tar.gz llvm-ed9584457def4a51596b9d72ce76a1bfed88fa30.tar.bz2 |
[lldb][test] Add tests for alignof on class with overlapping bases (#97068)
Follow-up to https://github.com/llvm/llvm-project/pull/96932
Adds XFAILed test where LLDB incorrectly infers the alignment of a
derived class whose bases are overlapping due to [[no_unique_address]].
Specifically, the `InferAlignment` code-path of the
`ItaniumRecordLayoutBuilder` assumes that overlapping base offsets imply
a packed structure and thus sets alignment to 1. See discussion in
https://github.com/llvm/llvm-project/pull/93809.
Also adds test where LLDB correctly infers an alignment of `1` when a
packed base class is overlapping with other bases.
Lastly, there were a couple of `alignof` inconsistencies which I
encapsulated in an XFAIL-ed `packed-alignof.cpp`.
Diffstat (limited to 'llvm/unittests/Support/MathExtrasTest.cpp')
0 files changed, 0 insertions, 0 deletions