-
Notifications
You must be signed in to change notification settings - Fork 12.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[libc++][PowerPC] align.pass.cpp test failure for 13.0.0-rc1 on PowerPC #50890
Comments
This failure was revealed through this commit: commit 6427c53
If I understand correctly, this commit runs the libc++ test cases on our side now, whereas they weren't being run for us on Power previously. |
This failure is Linux specific for Power. The align.pass.cpp test case tests the alignment of multiple different atomic types. If the atomic type is "lock-free", then the type must be properly aligned. The issue is that alignof() should be >= sizeof() if the type is considered lock-free, but is not for two of the types found in the test. A reduced test case showing the two types that are not adequately aligned: #include template int main(int, char**) { #define CHECK_ALIGNMENT(T) CHECK_ALIGNMENT(struct LLIArr2 { long long int i[2]; }); return 0; When ran, this produces: alignof() = 8, sizeof() = 16 As they do not match, the test would normally fail due to the assert() for expected natural alignment for lock-free type (but is commented out in the reduced test above). |
For now, I have a patch that XFAILs this test case on Power: https://reviews.llvm.org/D108668 |
Shipped to |
Merged: 198edf0 |
mentioned in issue #51489 |
Extended Description
The following libc++ LIT test fails on 13.0.0-rc1 for Ubuntu on Power:
libc++ :: libcxx/atomics/atomics.align/align.pass.cpp
An assertion of the following is produced for this test:
command stderr:
t.tmp.exe: /home/conanap/llvm/community/llvm-project/libcxx/test/libcxx/atomics/atomics.align/align.pass.cpp:41: atomic_test::atomic_test() [T = LLIArr2]: Assertion `alignof(AtomicImpl) >= sizeof(AtomicImpl) && "expected natural alignment for lock-free type"' failed.
error: command failed with exit status: 250
This failure is still being investigated.
The text was updated successfully, but these errors were encountered: