diff -r -u boost_1_54_0/boost/detail/interlocked.hpp boost_1_54_0-1/boost/detail/interlocked.hpp
old
|
new
|
|
69 | 69 | # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ |
70 | 70 | ((void*)BOOST_INTERLOCKED_EXCHANGE((long*)(dest),(long)(exchange))) |
71 | 71 | |
72 | | #elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) |
| 72 | #elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) || defined( __MINGW64_VERSION_MAJOR ) |
73 | 73 | |
74 | | #if defined( BOOST_MSVC ) && BOOST_MSVC >= 1600 |
| 74 | #if (defined( BOOST_MSVC ) && BOOST_MSVC >= 1600) || defined( __MINGW64_VERSION_MAJOR ) |
75 | 75 | |
76 | 76 | #include <intrin.h> |
77 | 77 | |
… |
… |
|
93 | 93 | |
94 | 94 | #endif |
95 | 95 | |
| 96 | #ifndef __MINGW64_VERSION_MAJOR |
96 | 97 | # pragma intrinsic( _InterlockedIncrement ) |
97 | 98 | # pragma intrinsic( _InterlockedDecrement ) |
98 | 99 | # pragma intrinsic( _InterlockedCompareExchange ) |
99 | 100 | # pragma intrinsic( _InterlockedExchange ) |
100 | 101 | # pragma intrinsic( _InterlockedExchangeAdd ) |
| 102 | #endif |
101 | 103 | |
102 | 104 | # if defined(_M_IA64) || defined(_M_AMD64) |
103 | 105 | |
… |
… |
|
127 | 129 | |
128 | 130 | #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) |
129 | 131 | |
130 | | #if defined(__MINGW64__) |
131 | | #define BOOST_INTERLOCKED_IMPORT |
132 | | #else |
133 | 132 | #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport) |
134 | | #endif |
135 | | |
136 | 133 | |
137 | 134 | namespace boost |
138 | 135 | { |