Bug 1412490 MinGW can handle MemoryBarrier (it defines it as _mm_mfence), but it doesn't recognize the '::'
MozReview-Commit-ID: 8SPadqTjICl
--- a/ipc/chromium/src/base/atomicops_internals_x86_msvc.h
+++ b/ipc/chromium/src/base/atomicops_internals_x86_msvc.h
@@ -41,17 +41,21 @@ inline Atomic32 Barrier_AtomicIncrement(
inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr,
Atomic32 increment) {
return Barrier_AtomicIncrement(ptr, increment);
}
inline void MemoryBarrier() {
// We use MemoryBarrier from WinNT.h
+#ifdef __MINGW32__
+ MemoryBarrier();
+#else
::MemoryBarrier();
+#endif
}
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
}