1 /* Test atomic_*_fence routines for existence and execution with each 2 valid memory model. Out-of-line function calls. */ 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