Commit f2179944cc66cf999c57a37c05fdd377340a50e3

Ryan C. Gordon 2017-03-29T12:04:17

Patched to compile on some platforms.

diff --git a/src/atomic/SDL_atomic.c b/src/atomic/SDL_atomic.c
index 7b4865c..8ee867b 100644
--- a/src/atomic/SDL_atomic.c
+++ b/src/atomic/SDL_atomic.c
@@ -211,7 +211,8 @@ SDL_AtomicAdd(SDL_atomic_t *a, int v)
 int
 SDL_AtomicGet(SDL_atomic_t *a)
 {
-#ifdef HAVE_GCC_ATOMICS
+/* !!! 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__)
     return __atomic_load_n(&a->value, __ATOMIC_SEQ_CST);
 #else
     int value;
@@ -225,7 +226,8 @@ SDL_AtomicGet(SDL_atomic_t *a)
 void *
 SDL_AtomicGetPtr(void **a)
 {
-#ifdef HAVE_GCC_ATOMICS
+/* !!! 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__)
     return __atomic_load_n(a, __ATOMIC_SEQ_CST);
 #else
     void *value;