fixed compile problem with the old Xcode (<4.5)
authorVadim Pisarevsky <vadim.pisarevsky@itseez.com>
Fri, 2 Nov 2012 11:29:16 +0000 (15:29 +0400)
committerVadim Pisarevsky <vadim.pisarevsky@itseez.com>
Fri, 2 Nov 2012 11:29:16 +0000 (15:29 +0400)
modules/core/include/opencv2/core/operations.hpp

index 74263022eea8968d455e645b6a60110897c18090..4b6e6061659fe7cfdcc6f684d296a3b1eba8750f 100644 (file)
   #define CV_XADD(addr,delta) _InterlockedExchangeAdd(const_cast<void*>(reinterpret_cast<volatile void*>(addr)), delta)
 #elif defined __GNUC__
 
-  #if defined __clang__ && __clang_major__ >= 3 && defined __ATOMIC_SEQ_CST
-    #define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), (delta), __ATOMIC_SEQ_CST)
-
+  #if defined __clang__ && __clang_major__ >= 3
+    #ifdef __ATOMIC_SEQ_CST
+        #define CV_XADD(addr, delta) __c11_atomic_fetch_add((_Atomic(int)*)(addr), (delta), __ATOMIC_SEQ_CST)
+    #else
+        #define CV_XADD(addr, delta) __atomic_fetch_add((_Atomic(int)*)(addr), (delta), 5)
+    #endif
   #elif __GNUC__*10 + __GNUC_MINOR__ >= 42
 
     #if !defined WIN32 && (defined __i486__ || defined __i586__ || \