MSVC does not support inline assembly, which is used by the implementation of rte_atomic128_cmp_exchange and is needed by lib/stack.
An implementation for rte_atomic128_cmp_exchange compatible with MSVC using an intrinsic function is added. For other compilers the existing implementation continues to be used. A basic test is added to provide coverage for this special rte_atomic128_cmp_exchange implementation for MSVC. This same test can be run when using other compilers as well, in which case the old implementation for rte_atomic128_cmp_exchange is used. Andre Muezerie (3): lib/eal: add rte_atomic128_cmp_exchange compatible with MSVC app/test: add basic test for rte_atomic128_cmp_exchange lib/stack: enable build with MSVC app/test/test_atomic.c | 59 +++++++++++++++++++++++++++++ lib/eal/x86/include/rte_atomic.h | 4 +- lib/eal/x86/include/rte_atomic_64.h | 18 +++++++++ lib/stack/meson.build | 6 --- 4 files changed, 79 insertions(+), 8 deletions(-) -- 2.47.0.vfs.0.3