This file is part of MXE. See index.html for further information. This patch has been taken from: http://pkgs.fedoraproject.org/cgit/mingw-boost.git/plain/boost-include-intrin-h-on-mingw-w64.patch --- a/boost/detail/interlocked.hpp.interlocked 2012-12-11 15:42:26.000000000 +0100 +++ b/boost/detail/interlocked.hpp 2013-07-21 15:22:56.082346444 +0200 @@ -69,9 +69,9 @@ # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) -#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) +#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR ) -#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 +#if ( defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 ) || defined( __MINGW64_VERSION_MAJOR ) #include @@ -93,12 +93,16 @@ #endif +# if defined( BOOST_MSVC ) + # pragma intrinsic( _InterlockedIncrement ) # pragma intrinsic( _InterlockedDecrement ) # pragma intrinsic( _InterlockedCompareExchange ) # pragma intrinsic( _InterlockedExchange ) # pragma intrinsic( _InterlockedExchangeAdd ) +# endif + # if defined(_M_IA64) || defined(_M_AMD64) extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* );