diff --git a/src/dlmalloc.c b/src/dlmalloc.c --- a/src/dlmalloc.c +++ b/src/dlmalloc.c @@ -1916,8 +1916,8 @@ static FORCEINLINE void x86_clear_lock(int* sl) { #define CLEAR_LOCK(sl) x86_clear_lock(sl) #else /* Win32 MSC */ -#define CAS_LOCK(sl) interlockedexchange(sl, (LONG)1) -#define CLEAR_LOCK(sl) interlockedexchange (sl, (LONG)0) +#define CAS_LOCK(sl) interlockedexchange((LONG volatile *)(sl), (LONG)1) +#define CLEAR_LOCK(sl) interlockedexchange ((LONG volatile *)(sl), (LONG)0) #endif /* ... gcc spins locks ... */