http://msdn2.microsoft.com/en-us/library/26td21ds(vs.71).aspx VC++ 7.1 has _InterlockedCompareExchange _InterlockedDecrement _InterlockedExchange _InterlockedExchangeAdd _InterlockedIncrement I'm not sure if compilers prior to 7.1 have them. http://msdn2.microsoft.com/en-us/library/wt813x6k(VS.80).aspx on x86_64 and Itanium VC++ 8 has _InterlockedExchangePointer _InterlockedCompareExchangePointer These are more useful than atomics of Win32API because: 1) faster 2) They accept both singed and unsigned variable acceptable, so there's no need to use casts.
Created attachment 21085 [details] against trunk I left IA64 and x86_64 apr_atomic_casptr and apr_atomic_xchgptr untouched