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()9 main ()
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