Closed
Description
The atomic orderings are something that would be really useful to have the exact details documented, as one might want to go as far as to write proofs about what orderings are safe to use, if any at all.
To be more specific, I'm missing these two pieces now:
SeqCst
says it acts likeAcqRel
with additionally anchoring the operation on a global timeline. However,AcqRel
on load is effectively onlyAcquire
(I guess because without store, other threads can't know when that load effectively happened). Does that apply toSeqCst
on load as well that operations can be moved after it?- Is
compare_and_swap
considered an operation that combines load and store even in case it fails, or is it only a load (and therefore turnsAcqRel
intoAcquire
only)?
I'd be happy to update the documentation, but I don't know what guarantees are actually provided.
Metadata
Metadata
Assignees
Labels
No labels