@mikra Well, I'll eat a broom! M$ is too lazy to provide any kind of specific
fences on x64 Windows except "full fences" (read-write). I (stupidly) wasted
hours trying to replicate the pthread atomic API using functions that only
exist on ARM/Itanium Windows. A search shows there are some pthread
compatibility APIs out there for Windows, but AFAIK, none of them support the
atomic part of pthreads. On the plus side, the API will be massively reduced
now. Alternatively, I could just give up on C entirely; it seems M$ has support
for C++11, including the atomic part.