diff -bur boost_1_32_0/boost/detail/lwm_win32.hpp boost_1_32_0.patched/boost/detail/lwm_win32.hpp --- boost_1_32_0/boost/detail/lwm_win32.hpp 2004-07-26 02:31:59.000000000 +0200 +++ boost_1_32_0.patched/boost/detail/lwm_win32.hpp 2005-03-09 19:50:57.187500000 +0100 @@ -33,7 +33,7 @@ #ifndef BOOST_USE_WINDOWS_H -#ifdef _WIN64 +#if defined (_WIN64) && defined (__INTEL_COMPILER) // Intel 6.0 on Win64 version, posted by Tim Fenders to [boost-users] @@ -50,6 +50,15 @@ extern "C" __declspec(dllimport) long __stdcall InterlockedExchange(long volatile *, long); +#if defined (_MSC_VER) && _MSC_VER >= 1400 + +extern "C" long __cdecl _InterlockedExchange(long volatile*, long); + +#pragma intrinsic(_InterlockedExchange) +#define InterlockedExchange _InterlockedExchange + +#endif + #endif // _WIN64 extern "C" __declspec(dllimport) void __stdcall Sleep(unsigned long);