-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
#elif defined (G_PLATFORM_WIN32)
+#include <windows.h>
+#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
*/