The following platforms currently have atomic primitives:
Mac OS X
GCC 4.1+ (Intel platforms only)
The "Intel platforms only" for GCC concerns me. I'm converting an existing WinCE application (ARM) to Linux (ARM) using Poco (using v1.4.6p1) such that it can build for both targets. Is this limitation such that it only work on Intel? What about Windows, is that Intel only too? Or is this a limitation of GCC? Do the __sync_fetch_xxx functions not work on ARM? Is there a way to do atomic increment/decrements on ARM?
I guess I'll have to do some testing...