diff options
author | Keith Bostic <keith@wiredtiger.com> | 2014-10-24 17:38:58 -0400 |
---|---|---|
committer | Keith Bostic <keith@wiredtiger.com> | 2014-10-24 17:38:58 -0400 |
commit | b2b8ad756016707265aa0b0be3f21b2205d577ed (patch) | |
tree | 11b1dec568476977b2be1d807d88dbbef170c899 /src/include/msvc.h | |
parent | 91c2988ac6fc8430ee184bf59eeb004f7b8a19a8 (diff) | |
download | mongo-b2b8ad756016707265aa0b0be3f21b2205d577ed.tar.gz |
Prefix the WT_ATOMIC_XXX macros with underscores, it's a mistake for
code outside of those include files to use them.
Diffstat (limited to 'src/include/msvc.h')
-rw-r--r-- | src/include/msvc.h | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/src/include/msvc.h b/src/include/msvc.h index 0d6f0cbd174..8f44a329940 100644 --- a/src/include/msvc.h +++ b/src/include/msvc.h @@ -15,51 +15,53 @@ #define WT_GCC_ATTRIBUTE(x) #define WT_GCC_FUNC_ATTRIBUTE(x) -#define WT_ATOMIC_ADD(v, val, n, s, t) \ +#define __WT_ATOMIC_ADD(v, val, n, s, t) \ (WT_STATIC_ASSERT(sizeof(v) == (n)), \ _InterlockedExchangeAdd ## s((t*)&(v), (t)(val)) + (val)) -#define WT_ATOMIC_CAS(v, old, new, n, s, t) \ +#define __WT_ATOMIC_CAS(v, old, new, n, s, t) \ (WT_STATIC_ASSERT(sizeof(v) == (n)), \ _InterlockedCompareExchange ## s \ ((t*)&(v), (t)(new), (t)(old)) == (t)(old)) -#define WT_ATOMIC_CAS_VAL(v, old, new, n, s, t) \ +#define __WT_ATOMIC_CAS_VAL(v, old, new, n, s, t) \ (WT_STATIC_ASSERT(sizeof(v) == (n)), \ _InterlockedCompareExchange ## s((t*)&(v), (t)(new), (t)(old))) -#define WT_ATOMIC_STORE(v, val, n, s, t) \ +#define __WT_ATOMIC_STORE(v, val, n, s, t) \ (WT_STATIC_ASSERT(sizeof(v) == (n)), \ _InterlockedExchange ## s((t*)&(v), (t)(val))) -#define WT_ATOMIC_SUB(v, val, n, s, t) \ +#define __WT_ATOMIC_SUB(v, val, n, s, t) \ (WT_STATIC_ASSERT(sizeof(v) == (n)), \ _InterlockedExchangeAdd ## s((t*)&(v), -(t) val) - (val)) -#define WT_ATOMIC_ADD1(v, val) WT_ATOMIC_ADD(v, val, 1, 8, char) -#define WT_ATOMIC_CAS1(v, old, new) WT_ATOMIC_CAS(v, old, new, 1, 8, char) -#define WT_ATOMIC_CAS_VAL1(v, old, new) \ - WT_ATOMIC_CAS_VAL(v, old, new, 1, 8, char) -#define WT_ATOMIC_STORE1(v, val) WT_ATOMIC_STORE(v, val, 1, 8, char) -#define WT_ATOMIC_SUB1(v, val) WT_ATOMIC_SUB(v, val, 1, 8, char) +#define WT_ATOMIC_ADD1(v, val) __WT_ATOMIC_ADD(v, val, 1, 8, char) +#define WT_ATOMIC_CAS1(v, old, new) __WT_ATOMIC_CAS(v, old, new, 1, 8, char) +#define WT_ATOMIC_CAS_VAL1(v, old, new) \ + __WT_ATOMIC_CAS_VAL(v, old, new, 1, 8, char) +#define WT_ATOMIC_STORE1(v, val) __WT_ATOMIC_STORE(v, val, 1, 8, char) +#define WT_ATOMIC_SUB1(v, val) __WT_ATOMIC_SUB(v, val, 1, 8, char) -#define WT_ATOMIC_ADD2(v, val) WT_ATOMIC_ADD(v, val, 2, 16, short) -#define WT_ATOMIC_CAS2(v, old, new) WT_ATOMIC_CAS(v, old, new, 2, 16, short) -#define WT_ATOMIC_CAS_VAL2(v, old, new) \ - WT_ATOMIC_CAS_VAL(v, old, new, 2, 16, short) -#define WT_ATOMIC_STORE2(v, val) WT_ATOMIC_STORE(v, val, 2, 16, short) -#define WT_ATOMIC_SUB2(v, val) WT_ATOMIC_SUB(v, val, 2, 16, short) +#define WT_ATOMIC_ADD2(v, val) __WT_ATOMIC_ADD(v, val, 2, 16, short) +#define WT_ATOMIC_CAS2(v, old, new) \ + __WT_ATOMIC_CAS(v, old, new, 2, 16, short) +#define WT_ATOMIC_CAS_VAL2(v, old, new) \ + __WT_ATOMIC_CAS_VAL(v, old, new, 2, 16, short) +#define WT_ATOMIC_STORE2(v, val) __WT_ATOMIC_STORE(v, val, 2, 16, short) +#define WT_ATOMIC_SUB2(v, val) __WT_ATOMIC_SUB(v, val, 2, 16, short) -#define WT_ATOMIC_ADD4(v, val) WT_ATOMIC_ADD(v, val, 4, , long) -#define WT_ATOMIC_CAS4(v, old, new) WT_ATOMIC_CAS(v, old, new, 4, , long) -#define WT_ATOMIC_CAS_VAL4(v, old, new) \ - WT_ATOMIC_CAS_VAL(v, old, new, 4, , long) -#define WT_ATOMIC_STORE4(v, val) WT_ATOMIC_STORE(v, val, 4, , long) -#define WT_ATOMIC_SUB4(v, val) WT_ATOMIC_SUB(v, val, 4, , long) +#define WT_ATOMIC_ADD4(v, val) __WT_ATOMIC_ADD(v, val, 4, , long) +#define WT_ATOMIC_CAS4(v, old, new) __WT_ATOMIC_CAS(v, old, new, 4, , long) +#define WT_ATOMIC_CAS_VAL4(v, old, new) \ + __WT_ATOMIC_CAS_VAL(v, old, new, 4, , long) +#define WT_ATOMIC_STORE4(v, val) __WT_ATOMIC_STORE(v, val, 4, , long) +#define WT_ATOMIC_SUB4(v, val) __WT_ATOMIC_SUB(v, val, 4, , long) -#define WT_ATOMIC_ADD8(v, val) WT_ATOMIC_ADD(v, val, 8, 64, __int64) -#define WT_ATOMIC_CAS8(v, old, new) \ - WT_ATOMIC_CAS(v, old, new, 8, 64, __int64) -#define WT_ATOMIC_CAS_VAL8(v, old, new) \ - WT_ATOMIC_CAS_VAL(v, old, new, 8, 64, __int64) -#define WT_ATOMIC_STORE8(v, val) WT_ATOMIC_STORE(v, val, 8, 64, __int64) -#define WT_ATOMIC_SUB8(v, val) WT_ATOMIC_SUB(v, val, 8, 64, __int64) +#define WT_ATOMIC_ADD8(v, val) __WT_ATOMIC_ADD(v, val, 8, 64, __int64) +#define WT_ATOMIC_CAS8(v, old, new) \ + __WT_ATOMIC_CAS(v, old, new, 8, 64, __int64) +#define WT_ATOMIC_CAS_VAL8(v, old, new) \ + __WT_ATOMIC_CAS_VAL(v, old, new, 8, 64, __int64) +#define WT_ATOMIC_STORE8(v, val) \ + __WT_ATOMIC_STORE(v, val, 8, 64, __int64) +#define WT_ATOMIC_SUB8(v, val) __WT_ATOMIC_SUB(v, val, 8, 64, __int64) static inline void WT_BARRIER(void) { _ReadWriteBarrier(); } static inline void WT_FULL_BARRIER(void) { _mm_mfence(); } |