For some unclear and accidental reasons, the Windows 10 SDK renamed _Interlocked* functions to _InlineInterlocked* (although the documentation still points to the old form: https://msdn.microsoft.com/en-us/library/191ca0sk.aspx).
This patch adds mappings for used functions. Signed-off-by: Alin Gabriel Serdean <[email protected]> --- lib/ovs-atomic-msvc.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/ovs-atomic-msvc.h b/lib/ovs-atomic-msvc.h index 0b041c6..81f7682 100644 --- a/lib/ovs-atomic-msvc.h +++ b/lib/ovs-atomic-msvc.h @@ -41,6 +41,13 @@ typedef enum { memory_order_seq_cst } memory_order; +#if _MSC_VER > 1800 && defined(_M_IX86) +/* From WDK 10 _InlineInterlocked* functions are renamed to + * _InlineInterlocked* although the documentation does not specify it */ +#define _InterlockedExchangeAdd64 _InlineInterlockedExchangeAdd64 +#define _InterlockedExchange64 _InlineInterlockedExchange64 +#endif + #define ATOMIC_BOOL_LOCK_FREE 2 #define ATOMIC_CHAR_LOCK_FREE 2 #define ATOMIC_SHORT_LOCK_FREE 2 -- 2.10.2.windows.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
