[FFmpeg-devel] [PATCH] compat/atomics: fix atomic_fetch_xor()

James Almer jamrial at gmail.com
Wed Mar 29 21:57:45 EEST 2017


---
 compat/atomics/dummy/stdatomic.h   | 2 +-
 compat/atomics/gcc/stdatomic.h     | 4 ++--
 compat/atomics/pthread/stdatomic.h | 2 +-
 compat/atomics/suncc/stdatomic.h   | 2 +-
 compat/atomics/win32/stdatomic.h   | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/compat/atomics/dummy/stdatomic.h b/compat/atomics/dummy/stdatomic.h
index c26f629aa2..59d85f915d 100644
--- a/compat/atomics/dummy/stdatomic.h
+++ b/compat/atomics/dummy/stdatomic.h
@@ -156,7 +156,7 @@ FETCH_MODIFY(and, &)
     atomic_fetch_or(object, operand)
 
 #define atomic_fetch_xor_explicit(object, operand, order) \
-    atomic_fetch_sub(object, operand)
+    atomic_fetch_xor(object, operand)
 
 #define atomic_fetch_and_explicit(object, operand, order) \
     atomic_fetch_and(object, operand)
diff --git a/compat/atomics/gcc/stdatomic.h b/compat/atomics/gcc/stdatomic.h
index 2b64687437..e13ed0e068 100644
--- a/compat/atomics/gcc/stdatomic.h
+++ b/compat/atomics/gcc/stdatomic.h
@@ -147,10 +147,10 @@ do {                                    \
     atomic_fetch_or(object, operand)
 
 #define atomic_fetch_xor(object, operand) \
-    __sync_fetch_and_sub(object, operand)
+    __sync_fetch_and_xor(object, operand)
 
 #define atomic_fetch_xor_explicit(object, operand, order) \
-    atomic_fetch_sub(object, operand)
+    atomic_fetch_xor(object, operand)
 
 #define atomic_fetch_and(object, operand) \
     __sync_fetch_and_and(object, operand)
diff --git a/compat/atomics/pthread/stdatomic.h b/compat/atomics/pthread/stdatomic.h
index 1b7278e4fd..81a60f102b 100644
--- a/compat/atomics/pthread/stdatomic.h
+++ b/compat/atomics/pthread/stdatomic.h
@@ -177,7 +177,7 @@ FETCH_MODIFY(and, &)
     atomic_fetch_or(object, operand)
 
 #define atomic_fetch_xor_explicit(object, operand, order) \
-    atomic_fetch_sub(object, operand)
+    atomic_fetch_xor(object, operand)
 
 #define atomic_fetch_and_explicit(object, operand, order) \
     atomic_fetch_and(object, operand)
diff --git a/compat/atomics/suncc/stdatomic.h b/compat/atomics/suncc/stdatomic.h
index 119c2ba3c9..4a864a4ae9 100644
--- a/compat/atomics/suncc/stdatomic.h
+++ b/compat/atomics/suncc/stdatomic.h
@@ -166,7 +166,7 @@ static inline intptr_t atomic_fetch_and(intptr_t *object, intptr_t operand)
     atomic_fetch_or(object, operand)
 
 #define atomic_fetch_xor_explicit(object, operand, order) \
-    atomic_fetch_sub(object, operand)
+    atomic_fetch_xor(object, operand)
 
 #define atomic_fetch_and_explicit(object, operand, order) \
     atomic_fetch_and(object, operand)
diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
index 4cbba9c78d..fa7ef51ea5 100644
--- a/compat/atomics/win32/stdatomic.h
+++ b/compat/atomics/win32/stdatomic.h
@@ -159,7 +159,7 @@ static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *exp
     atomic_fetch_or(object, operand)
 
 #define atomic_fetch_xor_explicit(object, operand, order) \
-    atomic_fetch_sub(object, operand)
+    atomic_fetch_xor(object, operand)
 
 #define atomic_fetch_and_explicit(object, operand, order) \
     atomic_fetch_and(object, operand)
-- 
2.12.1



More information about the ffmpeg-devel mailing list