Atomics.h does not build on MinGW
authorallan.jensen@digia.com <allan.jensen@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Sep 2013 16:45:42 +0000 (16:45 +0000)
committerallan.jensen@digia.com <allan.jensen@digia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Sep 2013 16:45:42 +0000 (16:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=121663

Reviewed by Darin Adler.

MinGW does not have _ReadWriteBarrier() intrinsic, but does have GCC
inline assembler, so use the GCC definitions instead of MSVC ones.

* wtf/Atomics.h:
(WTF::compilerFence):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156170 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/Atomics.h

index 6fd8504..0d8f97b 100644 (file)
@@ -1,3 +1,16 @@
+2013-09-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
+
+        Atomics.h does not build on MinGW
+        https://bugs.webkit.org/show_bug.cgi?id=121663
+
+        Reviewed by Darin Adler.
+
+        MinGW does not have _ReadWriteBarrier() intrinsic, but does have GCC
+        inline assembler, so use the GCC definitions instead of MSVC ones.
+
+        * wtf/Atomics.h:
+        (WTF::compilerFence):
+
 2013-09-20  Patrick Gansterer  <paroga@webkit.org>
 
         [CMake] Use COMPILE_DEFINITIONS target property for setting BUILDING_* defines
index b75e6e2..1cfdcbd 100644 (file)
@@ -65,7 +65,7 @@
 #if OS(WINDOWS)
 #if OS(WINCE)
 #include <cmnintrin.h>
-#else
+#elif !COMPILER(GCC)
 extern "C" void _ReadWriteBarrier(void);
 #pragma intrinsic(_ReadWriteBarrier)
 #endif
@@ -213,7 +213,7 @@ inline bool weakCompareAndSwapSize(volatile size_t* location, size_t expected, s
 // to do things like register allocation and code motion over pure operations.
 inline void compilerFence()
 {
-#if OS(WINDOWS)
+#if OS(WINDOWS) && !COMPILER(GCC)
     _ReadWriteBarrier();
 #else
     asm volatile("" ::: "memory");