src/atomic/SDL_atomic.c
changeset 8092 46fb898f098d
parent 8088 e5d77d5e0fe2
child 8093 b43765095a6f
     1.1 --- a/src/atomic/SDL_atomic.c	Mon Nov 25 00:11:52 2013 -0500
     1.2 +++ b/src/atomic/SDL_atomic.c	Mon Dec 09 13:30:35 2013 -0500
     1.3 @@ -152,7 +152,9 @@
     1.4  void*
     1.5  SDL_AtomicSetPtr(void **a, void *v)
     1.6  {
     1.7 -#ifdef HAVE_MSC_ATOMICS
     1.8 +#if defined(HAVE_MSC_ATOMICS) && (_M_IX86)
     1.9 +    return (void *) _InterlockedExchange((long *)a, (long) v);
    1.10 +#elif defined(HAVE_MSC_ATOMICS) && (!_M_IX86)
    1.11      return _InterlockedExchangePointer(a, v);
    1.12  #elif defined(HAVE_GCC_ATOMICS)
    1.13      return __sync_lock_test_and_set(a, v);