__atomic_load_n() appears to be available in GCC 5 but not GCC 4

This commit is contained in:
Sam Lantinga 2017-03-30 06:52:34 -07:00
parent 028716e79f
commit 7891e72dca

View File

@ -211,8 +211,7 @@ SDL_AtomicAdd(SDL_atomic_t *a, int v)
int
SDL_AtomicGet(SDL_atomic_t *a)
{
/* !!! FIXME: __atomic_load_n is only in newer GCCs and Clang, I think, and apparently not on Android. This #ifdef should be more exact. */
#if defined(HAVE_GCC_ATOMICS) && !defined(__ANDROID__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
#if defined(HAVE_GCC_ATOMICS) && (__GNUC__ >= 5)
return __atomic_load_n(&a->value, __ATOMIC_SEQ_CST);
#else
int value;
@ -226,8 +225,7 @@ SDL_AtomicGet(SDL_atomic_t *a)
void *
SDL_AtomicGetPtr(void **a)
{
/* !!! FIXME: __atomic_load_n is only in newer GCCs and Clang, I think, and apparently not on Android. This #ifdef should be more exact. */
#if defined(HAVE_GCC_ATOMICS) && !defined(__ANDROID__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
#if defined(HAVE_GCC_ATOMICS) && (__GNUC__ >= 5)
return __atomic_load_n(a, __ATOMIC_SEQ_CST);
#else
void *value;