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