From 3c84986cbbad3e2fe2d067c722593651b6a8dead Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Sun, 20 Oct 2013 01:46:32 +1100 Subject: [PATCH] package boost: mingw-w64 intrinsics fix --- src/boost-1-intrinsics-fix.patch | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/boost-1-intrinsics-fix.patch diff --git a/src/boost-1-intrinsics-fix.patch b/src/boost-1-intrinsics-fix.patch new file mode 100644 index 00000000..81a19ba6 --- /dev/null +++ b/src/boost-1-intrinsics-fix.patch @@ -0,0 +1,37 @@ +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* );