__ATOMIC_ACQ_REL
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
*ret = __atomic_add_fetch(val, amount, __ATOMIC_ACQ_REL);
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
*ret = __atomic_add_fetch(val, op, __ATOMIC_ACQ_REL);
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
*ret = __atomic_and_fetch(val, op, __ATOMIC_ACQ_REL);
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
*ret = __atomic_or_fetch(val, op, __ATOMIC_ACQ_REL);
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
#if defined(__GNUC__) && defined(__ATOMIC_ACQ_REL) && !defined(BROKEN_CLANG_ATOMICS)
#ifndef __ATOMIC_ACQ_REL
memory_order_acq_rel = __ATOMIC_ACQ_REL,