|
|
@@ -34,19 +34,15 @@
|
|
|
#endif
|
|
|
|
|
|
// The __atomic_load_n() intrinsic showed up in different times for different compilers.
|
|
|
-#ifdef __clang__
|
|
|
-#if __has_builtin(__atomic_load_n) || defined(HAVE_GCC_ATOMICS)
|
|
|
+#if defined(__GNUC__) && (__GNUC__ >= 5)
|
|
|
+#define HAVE_ATOMIC_LOAD_N 1
|
|
|
+#elif SDL_HAS_BUILTIN(__atomic_load_n) || (defined(__clang__) && defined(HAVE_GCC_ATOMICS))
|
|
|
/* !!! FIXME: this advertises as available in the NDK but uses an external symbol we don't have.
|
|
|
It might be in a later NDK or we might need an extra library? --ryan. */
|
|
|
#ifndef SDL_PLATFORM_ANDROID
|
|
|
#define HAVE_ATOMIC_LOAD_N 1
|
|
|
#endif
|
|
|
#endif
|
|
|
-#elif defined(__GNUC__)
|
|
|
-#if (__GNUC__ >= 5)
|
|
|
-#define HAVE_ATOMIC_LOAD_N 1
|
|
|
-#endif
|
|
|
-#endif
|
|
|
|
|
|
/*
|
|
|
If any of the operations are not provided then we must emulate some
|