summaryrefslogtreecommitdiff
path: root/src/include/msvc.h
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2014-10-24 17:38:58 -0400
committerKeith Bostic <keith@wiredtiger.com>2014-10-24 17:38:58 -0400
commitb2b8ad756016707265aa0b0be3f21b2205d577ed (patch)
tree11b1dec568476977b2be1d807d88dbbef170c899 /src/include/msvc.h
parent91c2988ac6fc8430ee184bf59eeb004f7b8a19a8 (diff)
downloadmongo-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.h62
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(); }