]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/c-c++-common/gomp/atomic-21.c
* builtin-types.def (BT_FN_VOID_BOOL, BT_FN_VOID_SIZE_SIZE_PTR,
[thirdparty/gcc.git] / gcc / testsuite / c-c++-common / gomp / atomic-21.c
1 /* { dg-do compile } */
2 /* { dg-additional-options "-fdump-tree-original" } */
3 /* { dg-final { scan-tree-dump-times "omp atomic release" 4 "original" } } */
4 /* { dg-final { scan-tree-dump-times "omp atomic read acquire" 1 "original" } } */
5 /* { dg-final { scan-tree-dump-times "omp atomic capture acq_rel" 1 "original" } } */
6
7 int i, j, k, l, m, n;
8
9 void
10 foo ()
11 {
12 int v;
13 #pragma omp atomic release
14 i = i + 1;
15 #pragma omp requires atomic_default_mem_order (acq_rel)
16 #pragma omp atomic
17 j = j + 1;
18 #pragma omp atomic update
19 k = k + 1;
20 #pragma omp atomic read
21 v = l;
22 #pragma omp atomic write
23 m = v;
24 #pragma omp atomic capture
25 v = n = n + 1;
26 }