-
Notifications
You must be signed in to change notification settings - Fork 12.2k
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
C++20's P0528R3/P1123R0 not implemented (atomic ignoring padding bits) #64829
Comments
Relatedly, it would be good to get clarification on the behavior of LLVM's |
@llvm/issue-subscribers-clang-codegen |
On the libc++ side, we need clang equivalent of gcc |
Is there an issue tracking |
Yes, #64830. |
C++20 includes P0528R3 and P1123R0, which together require
std::atomic<T>::compare_exchange_strong
andstd::atomic_ref<T>::compare_exchange_strong
to ignore any padding bits that exist inT
.However, this is not implemented in Clang or libc++ as of b41e75c. Also, neither paper is mentioned on the cxx_status page.
As a result of the missing implementation, the following prints 0 when it should print 1:
See also:
The text was updated successfully, but these errors were encountered: