Files
SDL/src
Cameron Gutman 30de669b32 atomic: Fix missing full memory barrier on GCC/Clang
__sync_lock_test_and_set() is designed for creating locks, not as
a general atomic exchange function. As a result, it only provides
an acquire memory barrier and isn't guaranteed to actually store
the provided value (though it does on architectures we care about).

__atomic_exchange_n() is supported on GCC/Clang for the last ~10
years, so let's use that instead if available. We will keep the
__sync_lock_test_and_set() fallback around for ancient platforms,
but add a full memory barrier to match the documented behavior.
2026-04-20 06:17:49 -04:00
..
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00
2026-01-01 09:51:07 -08:00