atomic: Switch to SDL_HAS_BUILTIN to detect __atomic_load_n

This commit is contained in:
Cameron Gutman
2026-04-12 14:43:52 -05:00
parent 59ee54d136
commit dba9aa147c

View File

@@ -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