1a4e54154Smrg#include <stdatomic.h> 2a4e54154Smrg 3a4e54154Smrgvoid memory_barrier (void) { atomic_thread_fence (memory_order_acq_rel); } 4a4e54154Smrgint atomic_add (atomic_int *i) { return atomic_fetch_add_explicit (i, 1, memory_order_relaxed); } 5a4e54154Smrgint mutex_trylock (atomic_flag *m) { return atomic_flag_test_and_set_explicit (m, memory_order_acquire); } 6a4e54154Smrgvoid mutex_unlock (atomic_flag *m) { atomic_flag_clear_explicit (m, memory_order_release); } 7a4e54154Smrg 8a4e54154Smrgint main(void) { return 0;} 9