1 /* Test atomic_*_fence routines for existence and execution with each 2 valid memory model. */ 3 /* { dg-do run } */ 4 /* { dg-options "-std=c11 -pedantic-errors" } */ 5 6 #include <stdatomic.h> 7 8 int main()9main () 10 { 11 atomic_thread_fence (memory_order_relaxed); 12 atomic_thread_fence (memory_order_consume); 13 atomic_thread_fence (memory_order_acquire); 14 atomic_thread_fence (memory_order_release); 15 atomic_thread_fence (memory_order_acq_rel); 16 atomic_thread_fence (memory_order_seq_cst); 17 18 atomic_signal_fence (memory_order_relaxed); 19 atomic_signal_fence (memory_order_consume); 20 atomic_signal_fence (memory_order_acquire); 21 atomic_signal_fence (memory_order_release); 22 atomic_signal_fence (memory_order_acq_rel); 23 atomic_signal_fence (memory_order_seq_cst); 24 25 return 0; 26 } 27