summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compat/atomics/suncc/stdatomic.h2
-rw-r--r--compat/atomics/win32/stdatomic.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/compat/atomics/suncc/stdatomic.h b/compat/atomics/suncc/stdatomic.h
index 4a864a4..0cf89e0 100644
--- a/compat/atomics/suncc/stdatomic.h
+++ b/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;
}
diff --git a/compat/atomics/win32/stdatomic.h b/compat/atomics/win32/stdatomic.h
index 092f453..bb8e6e7 100644
--- a/compat/atomics/win32/stdatomic.h
+++ b/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;
}
OpenPOWER on IntegriCloud