AIX currently fails because it does not support 16-byte MaxAtomicPromoteWidth while the type is implied to be lock-free.
Details
- Reviewers
hubert.reinterpretcast cebowleratibm xingxue jfb lkail Xiangling_L - Group Reviewers
Restricted Project
Diff Detail
Event Timeline
libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp | ||
---|---|---|
18 | Just trying to understand... this is a "known bug" (properly tracked) that is now being marked XFAIL to make it easier to spot other problems in regular regression testing? Might it be better to apply #ifndef _AIX to a subset of the calls? | |
35 | So, this is returning the wrong value? |
libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp | ||
---|---|---|
37 | This is a statically-determined fact, but the storage for the object could be aligned even if the type's guaranteed alignment is less-than-natural. We now have is_always_lock_free. |
libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp | ||
---|---|---|
37 | Are you saying the test is invalid because some of the types below may have less than natural alignment and is_lock_free() is permitted to return true based on the actual alignment of the particular object? |
libcxx/test/libcxx/atomics/atomics.align/align.pass.pass.cpp | ||
---|---|---|
37 | I recall reading this before... the test is valid: |
is_lock_free actually returns false for this structure:
struct LLIArr2 { long long int i[2]; };
So I'm seeing this test case passing on pwr8 and pwr9.
I don't think we need this change for AIX.
Just trying to understand... this is a "known bug" (properly tracked) that is now being marked XFAIL to make it easier to spot other problems in regular regression testing? Might it be better to apply #ifndef _AIX to a subset of the calls?