analyzer: enable taint state machine by default [PR103533]
[official-gcc.git] / gcc / testsuite / c-c++-common / gomp / pr59467.c
blob475182a6236da48dfb2bd787f11171b606fb7636
1 /* PR libgomp/59467 */
3 int v;
5 void
6 foo (void)
8 int x = 0, y = 0;
9 #pragma omp parallel
11 int z;
12 #pragma omp single copyprivate (x) /* { dg-error "is not threadprivate or private in outer context" } */
14 #pragma omp atomic write
15 x = 6;
17 #pragma omp atomic read
18 z = x;
19 #pragma omp atomic
20 y += z;
22 #pragma omp parallel
24 int z;
25 #pragma omp single copyprivate (v) /* { dg-error "is not threadprivate or private in outer context" } */
27 #pragma omp atomic write
28 v = 6;
30 #pragma omp atomic read
31 z = v;
32 #pragma omp atomic
33 y += z;
35 #pragma omp parallel private (x)
37 int z;
38 #pragma omp single copyprivate (x)
40 #pragma omp atomic write
41 x = 6;
43 #pragma omp atomic read
44 z = x;
45 #pragma omp atomic
46 y += z;
48 x = 0;
49 #pragma omp parallel reduction (+:x)
51 #pragma omp single copyprivate (x)
53 #pragma omp atomic write
54 x = 6;
56 #pragma omp atomic
57 y += x;
59 #pragma omp single copyprivate (x)
61 x = 7;
63 #pragma omp single copyprivate (v) /* { dg-error "is not threadprivate or private in outer context" } */
65 #pragma omp atomic write
66 v = 6;