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