package harfbuzz: define MemoryBarrier

This commit is contained in:
Niels Kristian Bech Jensen 2013-03-29 15:30:04 +11:00 committed by Tony Theodore
parent 0d92e2fe7e
commit e85061b94c
1 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,22 @@
This file is part of MXE.
See index.html for further information.
Beware! This patch must be removed when winnt.h is updated to a version that
includes the MemoryBarrier() macro.
diff -ur harfbuzz-0.9.14.orig/src/hb-atomic-private.hh harfbuzz-0.9.14/src/hb-atomic-private.hh
--- harfbuzz-0.9.14.orig/src/hb-atomic-private.hh 2013-03-19 12:04:53.000000000 +0100
+++ harfbuzz-0.9.14/src/hb-atomic-private.hh 2013-03-27 05:32:38.407335037 +0100
@@ -44,6 +44,12 @@
#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))
+static inline void MemoryBarrier(void)
+{
+ long Barrier = 0;
+ __asm__ __volatile__ ("xchgl %%eax,%0 " : "=r" (Barrier));
+}
+
#define WIN32_LEAN_AND_MEAN
#include <windows.h>