Merge pull request #16125 from alalek:core_safe_xadd

pull/16134/head
Alexander Alekhin 5 years ago
commit f2cce5fd8c
  1. 6
      modules/core/include/opencv2/core/cvdef.h

@ -525,7 +525,11 @@ Cv64suf;
# include <intrin.h>
# define CV_XADD(addr, delta) (int)_InterlockedExchangeAdd((long volatile*)addr, delta)
#else
CV_INLINE CV_XADD(int* addr, int delta) { int tmp = *addr; *addr += delta; return tmp; }
#ifdef OPENCV_FORCE_UNSAFE_XADD
CV_INLINE CV_XADD(int* addr, int delta) { int tmp = *addr; *addr += delta; return tmp; }
#else
#error "OpenCV: can't define safe CV_XADD macro for current platform (unsupported). Define CV_XADD macro through custom port header (see OPENCV_INCLUDE_PORT_FILE)"
#endif
#endif

Loading…
Cancel
Save