===== 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 | |