OSDN Git Service

libgcc/
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / atomic-fence.c
1 /* Test __atomic routines for existence and execution with each valid 
2    memory model.  */
3 /* { dg-do run } */
4 /* { dg-require-effective-target sync_char_short } */
5
6
7 /* Test that __atomic_{thread,signal}_fence builtins execute.  */
8
9 main ()
10 {
11   __atomic_thread_fence (__ATOMIC_RELAXED);
12   __atomic_thread_fence (__ATOMIC_CONSUME);
13   __atomic_thread_fence (__ATOMIC_ACQUIRE);
14   __atomic_thread_fence (__ATOMIC_RELEASE);
15   __atomic_thread_fence (__ATOMIC_ACQ_REL);
16   __atomic_thread_fence (__ATOMIC_SEQ_CST);
17
18   __atomic_signal_fence (__ATOMIC_RELAXED);
19   __atomic_signal_fence (__ATOMIC_CONSUME);
20   __atomic_signal_fence (__ATOMIC_ACQUIRE);
21   __atomic_signal_fence (__ATOMIC_RELEASE);
22   __atomic_signal_fence (__ATOMIC_ACQ_REL);
23   __atomic_signal_fence (__ATOMIC_SEQ_CST);
24
25   return 0;
26 }
27