In https://reviews.llvm.org/D103707, __STDC_NO_ATOMICS__ is predefined to indicate clang on AIX doesn't support _Atomic and not shipped with stdatomic.h yet. Actually _Atomic is already supported. For stdatomic.h, clang has implemented one in clang/lib/Headers/stdatomic.h. The remaining problem is
void atomic_thread_fence(memory_order); void atomic_signal_fence(memory_order); _Bool atomic_flag_test_and_set(volatile atomic_flag *); _Bool atomic_flag_test_and_set_explicit(volatile atomic_flag *, memory_order);
are defined as macros and don't have external linkage required by C11 standard, since current libc of AIX doesn't have them now. So is it worthwhile to violate the standard a bit, but make c11's atomics functionality available to users? If not, we may have to wait for upgrading of AIX's libc to define above routines.