Mercurial > sdl-ios-xcode
comparison include/SDL_atomic.h @ 5016:cc879bc6c4cf
Fixed compiler warnings using Windows intrinsics
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 17 Jan 2011 14:07:15 -0800 |
parents | 2e282002bac3 |
children | 38638d228a22 |
comparison
equal
deleted
inserted
replaced
5015:1bf9e38431ec | 5016:cc879bc6c4cf |
---|---|
113 #ifndef SDL_DISABLE_ATOMIC_INLINE | 113 #ifndef SDL_DISABLE_ATOMIC_INLINE |
114 | 114 |
115 #if defined(__WIN32__) | 115 #if defined(__WIN32__) |
116 #include <intrin.h> | 116 #include <intrin.h> |
117 | 117 |
118 #define SDL_AtomicSet(a, v) _InterlockedExchange(&(a)->value, (v)) | 118 #define SDL_AtomicSet(a, v) _InterlockedExchange((long*)&(a)->value, (v)) |
119 #define SDL_AtomicGet(a) ((a)->value) | 119 #define SDL_AtomicGet(a) ((a)->value) |
120 #define SDL_AtomicAdd(a, v) _InterlockedExchangeAdd(&(a)->value, (v)) | 120 #define SDL_AtomicAdd(a, v) _InterlockedExchangeAdd((long*)&(a)->value, (v)) |
121 #define SDL_AtomicCAS(a, oldval, newval) (_InterlockedCompareExchange(&(a)->value, (newval), (oldval)) == (oldval)) | 121 #define SDL_AtomicCAS(a, oldval, newval) (_InterlockedCompareExchange((long*)&(a)->value, (newval), (oldval)) == (oldval)) |
122 #define SDL_AtomicSetPtr(a, v) (void)_InterlockedExchangePointer((a), (v)) | 122 #define SDL_AtomicSetPtr(a, v) (void)_InterlockedExchangePointer((a), (v)) |
123 #define SDL_AtomicGetPtr(a) (*(a)) | 123 #define SDL_AtomicGetPtr(a) (*(a)) |
124 #if _M_IX86 | 124 #if _M_IX86 |
125 #define SDL_AtomicCASPtr(a, oldval, newval) (_InterlockedCompareExchange((long*)(a), (long)(newval), (long)(oldval)) == (long)(oldval)) | 125 #define SDL_AtomicCASPtr(a, oldval, newval) (_InterlockedCompareExchange((long*)(a), (long)(newval), (long)(oldval)) == (long)(oldval)) |
126 #else | 126 #else |