
Have you considered using the proposed Boost.Atomic? This should support more platforms.
If there is something missing from Boost.Atomic that is needed for this purpose, it would be useful to know about it.
Yes, I considered Boost.Atomic some time ago and I decided to implement separate atomics in the CDS library:
1. Not all processor architectures that I need are implemented in Boost.Atomic (maybe, today it is not right).
You listed x86, amd64, ia64, sparc; Boost.Atomic currently supports (I think) x86, amd64, alpha, ppc and arm. Of course ia64 and sparc implementations for Boost.Atomic would be useful.
there seem to be some issues with boost.atomic on msvc (at least two people had issues when using my proposed lockfree library with boost.atomic) for ia64 some algorithms would need to be adapted, since iirc, there is no true double-word compare-and-exchange, but rather a compare8byte / exchange16byte instruction ... tim -- tim@klingt.org http://tim.klingt.org Contrary to general belief, an artist is never ahead of his time but most people are far behind theirs. Edgar Varèse