// This example uses a non-standard simplified thread composition // syntax. Triple braces enclose a list of threads with triple bar // separating each thread. int main() { int x = 0; atomic_int y = 0; {{{ { x = 1; y.store(1, mo_release); } ||| { y.load(mo_relaxed); atomic_thread_fence(mo_acquire); printf("%dn", x); } }}}; return 0; }