3642
|
1 This file is part of MXE. |
|
2 See index.html for further information. |
|
3 |
|
4 This patch has been taken from: |
|
5 http://pkgs.fedoraproject.org/cgit/mingw-boost.git/plain/boost-include-intrin-h-on-mingw-w64.patch |
|
6 |
|
7 --- a/boost/detail/interlocked.hpp.interlocked 2012-12-11 15:42:26.000000000 +0100 |
|
8 +++ b/boost/detail/interlocked.hpp 2013-07-21 15:22:56.082346444 +0200 |
|
9 @@ -69,9 +69,9 @@ |
|
10 # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ |
|
11 ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) |
|
12 |
|
13 -#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) |
|
14 +#elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR ) |
|
15 |
|
16 -#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 |
|
17 +#if ( defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 ) || defined( __MINGW64_VERSION_MAJOR ) |
|
18 |
|
19 #include <intrin.h> |
|
20 |
|
21 @@ -93,12 +93,16 @@ |
|
22 |
|
23 #endif |
|
24 |
|
25 +# if defined( BOOST_MSVC ) |
|
26 + |
|
27 # pragma intrinsic( _InterlockedIncrement ) |
|
28 # pragma intrinsic( _InterlockedDecrement ) |
|
29 # pragma intrinsic( _InterlockedCompareExchange ) |
|
30 # pragma intrinsic( _InterlockedExchange ) |
|
31 # pragma intrinsic( _InterlockedExchangeAdd ) |
|
32 |
|
33 +# endif |
|
34 + |
|
35 # if defined(_M_IA64) || defined(_M_AMD64) |
|
36 |
|
37 extern "C" void* __cdecl _InterlockedCompareExchangePointer( void* volatile *, void*, void* ); |