diff --git a/boost/detail/interlocked.hpp b/boost/detail/interlocked.hpp
index 75e5a30..48bb1aa 100644
|
a
|
b
|
extern "C" void* __cdecl _InterlockedExchangePointer( void* volatile *, void* );
|
| 125 | 125 | # define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange |
| 126 | 126 | # define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd |
| 127 | 127 | |
| 128 | | #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) |
| | 128 | #elif defined( __MINGW64__ ) |
| 129 | 129 | |
| 130 | | #if defined(__MINGW64__) |
| 131 | | #define BOOST_INTERLOCKED_IMPORT |
| 132 | | #else |
| 133 | | #define BOOST_INTERLOCKED_IMPORT __declspec(dllimport) |
| 134 | | #endif |
| | 130 | #include <intrin.h> |
| | 131 | #define BOOST_INTERLOCKED_INCREMENT _InterlockedIncrement |
| | 132 | #define BOOST_INTERLOCKED_DECREMENT _InterlockedDecrement |
| | 133 | #define BOOST_INTERLOCKED_COMPARE_EXCHANGE _InterlockedCompareExchange |
| | 134 | #define BOOST_INTERLOCKED_EXCHANGE _InterlockedExchange |
| | 135 | #define BOOST_INTERLOCKED_EXCHANGE_ADD _InterlockedExchangeAdd |
| | 136 | #define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER _InterlockedCompareExchangePointer |
| | 137 | #define BOOST_INTERLOCKED_EXCHANGE_POINTER _InterlockedExchangePointer |
| 135 | 138 | |
| | 139 | #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined( __CYGWIN__ ) |
| 136 | 140 | |
| 137 | 141 | namespace boost |
| 138 | 142 | { |
| … |
… |
namespace boost
|
| 140 | 144 | namespace detail |
| 141 | 145 | { |
| 142 | 146 | |
| 143 | | extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedIncrement( long volatile * ); |
| 144 | | extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedDecrement( long volatile * ); |
| 145 | | extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedCompareExchange( long volatile *, long, long ); |
| 146 | | extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchange( long volatile *, long ); |
| 147 | | extern "C" BOOST_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd( long volatile *, long ); |
| | 147 | extern "C" __declspec(dllimport) long __stdcall InterlockedIncrement( long volatile * ); |
| | 148 | extern "C" __declspec(dllimport) long __stdcall InterlockedDecrement( long volatile * ); |
| | 149 | extern "C" __declspec(dllimport) long __stdcall InterlockedCompareExchange( long volatile *, long, long ); |
| | 150 | extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long ); |
| | 151 | extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long ); |
| 148 | 152 | |
| 149 | 153 | # if defined(_M_IA64) || defined(_M_AMD64) |
| 150 | | extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* ); |
| 151 | | extern "C" BOOST_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer( void* volatile *, void* ); |
| | 154 | extern "C" __declspec(dllimport) void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* ); |
| | 155 | extern "C" __declspec(dllimport) void* __stdcall InterlockedExchangePointer( void* volatile *, void* ); |
| 152 | 156 | # endif |
| 153 | 157 | |
| 154 | 158 | } // namespace detail |