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