On 14-02-04 11:37 AM, Werner LEMBERG wrote:
> hb-common.cc: In function 'hb_language_item_t* lang_find_or_insert(const 
> char*)':
> hb-atomic-private.hh:61:47: error: expected primary-expression before ')' 
> token
>  #define hb_atomic_ptr_get(P)  (MemoryBarrier (), (void *) *(P))

Interesting.  Can you try the attached patch?  Looks like a MinGW bug to me.

-- 
behdad
http://behdad.org/
diff --git a/src/hb-atomic-private.hh b/src/hb-atomic-private.hh
index b5d6485..cde5680 100644
--- a/src/hb-atomic-private.hh
+++ b/src/hb-atomic-private.hh
@@ -47,10 +47,16 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-#if defined(__MINGW32__) && !defined(MemoryBarrier)
+#if defined(__MINGW32__)
 static inline void _HBMemoryBarrier (void) {
+#if !defined(MemoryBarrier)
   long dummy = 0;
   InterlockedExchange (&dummy, 1);
+#else
+  /* More recent Mingw32 (4.8 for example) added the MemoryBarrier()
+   * macro, but apparently it's not an expression? */
+  MemoryBarrier ();
+#endif
 }
 # define MemoryBarrier _HBMemoryBarrier
 #endif
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to