From fba436f2cb894646d758cc32e3a1ae839591a11f Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 7 Jun 2011 08:20:15 +0800 Subject: [PATCH] Fix gatomic.c compilation on Windows (MSVC) -windows.h must be included for the functions[1] to be found during compilation -For Win32(x86), the InterlockedAnd, InterlockedOr and InterlockedXor functions need to be preceded with an underscore. This is mandated by the "For the x86 architecture..." clause under "Remarks"[2] -This will close Bug 652000 [1]:http://msdn.microsoft.com/en-us/library/ms684122(v=vs.85).aspx [2]:http://msdn.microsoft.com/en-us/library/ms683516(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/ms683626(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/ms684021(v=vs.85).aspx --- glib/gatomic.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/glib/gatomic.c b/glib/gatomic.c index 5bb3723b7..495d090bf 100644 --- a/glib/gatomic.c +++ b/glib/gatomic.c @@ -454,6 +454,13 @@ gsize #elif defined (G_PLATFORM_WIN32) +#include +#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#endif + /* * http://msdn.microsoft.com/en-us/library/ms684122(v=vs.85).aspx */