comparison src/atomic/SDL_spinlock.c @ 5069:fd125217f00c

Separated out the minimum functionality that we need from gcc for our spinlock fallback.
author Sam Lantinga <slouken@libsdl.org>
date Fri, 21 Jan 2011 21:42:04 -0800
parents fffb33ae85e8
children 55ff76cdbbb8
comparison
equal deleted inserted replaced
5068:231dbbc3e31c 5069:fd125217f00c
34 return (_InterlockedExchange((long*)lock, 1) == 0); 34 return (_InterlockedExchange((long*)lock, 1) == 0);
35 35
36 #elif defined(__MACOSX__) 36 #elif defined(__MACOSX__)
37 return OSAtomicCompareAndSwap32Barrier(0, 1, lock); 37 return OSAtomicCompareAndSwap32Barrier(0, 1, lock);
38 38
39 #elif defined(HAVE_GCC_ATOMICS) 39 #elif defined(HAVE_GCC_SYNC_LOCK_TEST_AND_SET)
40 return (__sync_lock_test_and_set(lock, 1) == 0); 40 return (__sync_lock_test_and_set(lock, 1) == 0);
41 41
42 #elif defined(__GNUC__) && defined(__arm__) && defined(__ARM_ARCH_5__) 42 #elif defined(__GNUC__) && defined(__arm__) && defined(__ARM_ARCH_5__)
43 int result; 43 int result;
44 __asm__ __volatile__ ( 44 __asm__ __volatile__ (