mirror-llvm-project/libcxx/include/__atomic
Hui de962dda12
[libc++] Implement P0528R3 std::atomic CAS for types with padding (#76180)
Fixes #99984

Implement P0528R3 The Curious Case of Padding Bits, Featuring Atomic
Compare-and-Exchange


The unit test padding.pass.cpp is assisted by Cursor. However, all tests
have been modified to test what I wanted to test

---------

Co-authored-by: Louis Dionne <ldionne.2@gmail.com>
2026-07-28 07:15:19 +01:00
..
support [libc++] Implement P0528R3 std::atomic CAS for types with padding (#76180) 2026-07-28 07:15:19 +01:00
aliases.h
atomic.h [libc++] Implement P0493R5: Atomic minimum/maximum (#180333) 2026-07-21 19:41:49 +08:00
atomic_flag.h [libc++] Assume that <atomic> is available (#199674) 2026-06-06 04:34:31 +02:00
atomic_init.h
atomic_lock_free.h
atomic_ref.h [libc++] Implement P0493R5: Atomic minimum/maximum (#180333) 2026-07-21 19:41:49 +08:00
atomic_sync.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
atomic_sync_timed.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
atomic_waitable_traits.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
check_memory_order.h
clear_padding.h [libc++] Implement P0528R3 std::atomic CAS for types with padding (#76180) 2026-07-28 07:15:19 +01:00
contention_t.h [libc++] Use Fuchsia futex operations (#133571) 2026-04-08 17:37:54 -04:00
fence.h
floating_point_helper.h [libc++] Consistently use version guards outside namespace macros (#181136) 2026-06-29 14:44:44 +02:00
is_always_lock_free.h
kill_dependency.h
memory_order.h
support.h [libc++] Implement P0493R5: Atomic minimum/maximum (#180333) 2026-07-21 19:41:49 +08:00
to_gcc_order.h