===== boost/detail/interlocked.hpp 1.1 vs edited =====
|
old
|
new
|
|
| 106 | 106 | extern "C" __declspec(dllimport) long __stdcall InterlockedExchange( long volatile *, long ); |
| 107 | 107 | extern "C" __declspec(dllimport) long __stdcall InterlockedExchangeAdd( long volatile *, long ); |
| 108 | 108 | |
| | 109 | # if defined(_M_IA64) || defined(_M_AMD64) |
| | 110 | extern "C" __declspec(dllimport) void* __stdcall InterlockedCompareExchangePointer( void* volatile *, void*, void* ); |
| | 111 | extern "C" __declspec(dllimport) void* __stdcall InterlockedExchangePointer( void* volatile *, void* ); |
| | 112 | # endif |
| | 113 | |
| 109 | 114 | } // namespace detail |
| 110 | 115 | |
| 111 | 116 | } // namespace boost |
| … |
… |
|
| 116 | 121 | # define BOOST_INTERLOCKED_EXCHANGE ::boost::detail::InterlockedExchange |
| 117 | 122 | # define BOOST_INTERLOCKED_EXCHANGE_ADD ::boost::detail::InterlockedExchangeAdd |
| 118 | 123 | |
| 119 | | # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ |
| | 124 | # if defined(_M_IA64) || defined(_M_AMD64) |
| | 125 | # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER ::boost::detail::InterlockedCompareExchangePointer |
| | 126 | # define BOOST_INTERLOCKED_EXCHANGE_POINTER ::boost::detail::InterlockedExchangePointer |
| | 127 | # else |
| | 128 | # define BOOST_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest,exchange,compare) \ |
| 120 | 129 | ((void*)BOOST_INTERLOCKED_COMPARE_EXCHANGE((long volatile*)(dest),(long)(exchange),(long)(compare))) |
| 121 | | # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ |
| | 130 | # define BOOST_INTERLOCKED_EXCHANGE_POINTER(dest,exchange) \ |
| 122 | 131 | ((void*)BOOST_INTERLOCKED_EXCHANGE((long volatile*)(dest),(long)(exchange))) |
| | 132 | # endif |
| 123 | 133 | |
| 124 | 134 | #else |
| 125 | 135 | |