[Bf-blender-cvs] [df06f1c816e] master: Attempt to fix bloody MSVC atomic intrinsic mess...

Bastien Montagne noreply at git.blender.org
Thu Nov 23 16:53:46 CET 2017


Commit: df06f1c816efbe5f6f221110edd024489120bbfc
Author: Bastien Montagne
Date:   Thu Nov 23 16:53:03 2017 +0100
Branches: master
https://developer.blender.org/rBdf06f1c816efbe5f6f221110edd024489120bbfc

Attempt to fix bloody MSVC atomic intrinsic mess...

===================================================================

M	intern/atomic/intern/atomic_ops_msvc.h

===================================================================

diff --git a/intern/atomic/intern/atomic_ops_msvc.h b/intern/atomic/intern/atomic_ops_msvc.h
index ab31b3b789a..5e83675f815 100644
--- a/intern/atomic/intern/atomic_ops_msvc.h
+++ b/intern/atomic/intern/atomic_ops_msvc.h
@@ -142,7 +142,7 @@ ATOMIC_INLINE int32_t atomic_sub_and_fetch_int32(int32_t *p, int32_t x)
 
 ATOMIC_INLINE int32_t atomic_cas_int32(int32_t *v, int32_t old, int32_t _new)
 {
-	return InterlockedCompareExchange(v, _new, old);
+	return InterlockedCompareExchange((long *)v, _new, old);
 }
 
 ATOMIC_INLINE int32_t atomic_fetch_and_add_int32(int32_t *p, int32_t x)
@@ -152,12 +152,12 @@ ATOMIC_INLINE int32_t atomic_fetch_and_add_int32(int32_t *p, int32_t x)
 
 ATOMIC_INLINE int32_t atomic_fetch_and_or_int32(int32_t *p, int32_t x)
 {
-	return InterlockedOr(p, x);
+	return InterlockedOr((long *)p, x);
 }
 
 ATOMIC_INLINE int32_t atomic_fetch_and_and_int32(int32_t *p, int32_t x)
 {
-	return InterlockedAnd(p, x);
+	return InterlockedAnd((long *)p, x);
 }
 
 /******************************************************************************/



More information about the Bf-blender-cvs mailing list