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
This commit is contained in:
Chun-wei Fan 2011-06-07 08:20:15 +08:00
parent 62072b2a04
commit fba436f2cb

View File

@ -454,6 +454,13 @@ gsize
#elif defined (G_PLATFORM_WIN32) #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 * http://msdn.microsoft.com/en-us/library/ms684122(v=vs.85).aspx
*/ */