2 /* { dg-do compile } */
3 /* { dg-additional-options "-std=c11" } */
6 #pragma omp threadprivate (t)
11 _Atomic
int a
= 4, b
= 0, c
, d
= 3, e
;
13 #pragma omp parallel sections num_threads (a) shared (b) private (c) firstprivate (d) lastprivate (e)
38 #pragma omp parallel copyin (t) private (e)
42 #pragma omp single copyprivate (e)
54 _Atomic
int b
= 1, c
= 2, f
= 8, g
= 8, h
= 0;
57 _Atomic
int *_Atomic q
;
61 #pragma omp target teams map (tofrom: a[b:c]) num_teams (b) thread_limit (c)
63 #pragma omp target device(h)
65 #pragma omp task depend (inout: a[b:c])
67 #pragma omp task depend (out: d, e[b:c]) priority (b)
69 #pragma omp task depend (out: p[b:c])
71 #pragma omp task depend (out: q[b:c])
73 #pragma omp taskloop num_tasks (c)
74 for (i
= 0; i
< 16; i
++)
76 #pragma omp taskloop grainsize (c)
77 for (i
= 0; i
< 16; i
++)
79 #pragma omp parallel for schedule (dynamic, b)
80 for (i
= 0; i
< 16; i
++)
83 #pragma omp simd linear(j:b)
84 for (i
= 0; i
< 16; i
++)
87 #pragma omp atomic read
89 #pragma omp atomic write
93 #pragma omp atomic capture
95 #pragma omp atomic capture
97 #pragma omp atomic capture
99 #pragma omp atomic capture
101 #pragma omp atomic capture