Browse Source

Merge commit '6a93b596c5c3af31b843d63013a7985ffeea354d'

* commit '6a93b596c5c3af31b843d63013a7985ffeea354d':
  compat/atomics: add typecasts in atomic_compare_exchange_strong()

Merged-by: James Almer <jamrial@gmail.com>
James Almer 8 years ago
parent
commit
eab5d29810
2 changed files with 3 additions and 2 deletions
  1. 1 1
      compat/atomics/suncc/stdatomic.h
  2. 2 1
      compat/atomics/win32/stdatomic.h

+ 1 - 1
compat/atomics/suncc/stdatomic.h

@@ -108,7 +108,7 @@ static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *exp
                                                  intptr_t desired)
 {
     intptr_t  old = *expected;
-    *expected = atomic_cas_ptr(object, old, desired);
+    *expected = (intptr_t)atomic_cas_ptr(object, (void *)old, (void *)desired);
     return *expected == old;
 }
 

+ 2 - 1
compat/atomics/win32/stdatomic.h

@@ -105,7 +105,8 @@ static inline int atomic_compare_exchange_strong(intptr_t *object, intptr_t *exp
                                                  intptr_t desired)
 {
     intptr_t old = *expected;
-    *expected = InterlockedCompareExchangePointer(object, desired, old);
+    *expected = (intptr_t)InterlockedCompareExchangePointer(
+        (PVOID *)object, (PVOID)desired, (PVOID)old);
     return *expected == old;
 }