From 33a5778a0e9318f26b725627b0cf02efc90cbc52 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 27 Oct 2016 13:22:13 +0300 Subject: [PATCH] core: update CV_XADD Allow to use custom implementations of CV_XADD (passed via -D of CXXFLAGS) --- modules/core/include/opencv2/core/cvdef.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h index e71c25a9b5..699b1667b4 100644 --- a/modules/core/include/opencv2/core/cvdef.h +++ b/modules/core/include/opencv2/core/cvdef.h @@ -418,7 +418,9 @@ Cv64suf; * exchange-add operation for atomic operations on reference counters * \****************************************************************************************/ -#if defined __GNUC__ +#ifdef CV_XADD + // allow to use user-defined macro +#elif defined __GNUC__ # if defined __clang__ && __clang_major__ >= 3 && !defined __ANDROID__ && !defined __EMSCRIPTEN__ && !defined(__CUDACC__) # ifdef __ATOMIC_ACQ_REL # define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), delta, __ATOMIC_ACQ_REL)