145
|
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 relaxed" 3 "original" } } */
|
|
5 /* { dg-final { scan-tree-dump-times "omp atomic read relaxed" 1 "original" } } */
|
|
6 /* { dg-final { scan-tree-dump-times "omp atomic capture relaxed" 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 (relaxed)
|
|
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 }
|