111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fopenmp" } */
|
|
3
|
|
4 int x = 6;
|
|
5
|
|
6 int
|
|
7 main ()
|
|
8 {
|
|
9 int v;
|
|
10 #pragma omp atomic
|
|
11 x = x * 7 + 6; /* { dg-error "expected|invalid form of" } */
|
|
12 #pragma omp atomic
|
|
13 x = x * 7 ^ 6; /* { dg-error "expected|invalid form of" } */
|
|
14 #pragma omp atomic update
|
|
15 x = x - 8 + 6; /* { dg-error "expected|invalid form of" } */
|
|
16 #pragma omp atomic
|
|
17 x = x ^ 7 | 2; /* { dg-error "expected|invalid form of" } */
|
|
18 #pragma omp atomic
|
|
19 x = x / 7 * 2; /* { dg-error "expected|invalid form of" } */
|
|
20 #pragma omp atomic
|
|
21 x = x / 7 / 2; /* { dg-error "expected|invalid form of" } */
|
|
22 #pragma omp atomic capture
|
|
23 { v = x; x = x * 7 + 6; } /* { dg-error "expected" "" { target c++ } } */
|
|
24 #pragma omp atomic capture
|
|
25 { v = x; x = x * 7 ^ 6; } /* { dg-error "expected" "" { target c++ } } */
|
|
26 #pragma omp atomic capture
|
|
27 { v = x; x = x - 8 + 6; } /* { dg-error "expected" "" { target c++ } } */
|
|
28 #pragma omp atomic capture
|
|
29 { v = x; x = x ^ 7 | 2; } /* { dg-error "expected" "" { target c++ } } */
|
|
30 #pragma omp atomic capture
|
|
31 { v = x; x = x / 7 * 2; } /* { dg-error "expected" "" { target c++ } } */
|
|
32 #pragma omp atomic capture
|
|
33 { v = x; x = x / 7 / 2; } /* { dg-error "expected" "" { target c++ } } */
|
|
34 #pragma omp atomic capture
|
|
35 { x = x * 7 + 6; v = x; } /* { dg-error "expected|uses two different expressions for memory" } */
|
|
36 #pragma omp atomic capture
|
|
37 { x = x * 7 ^ 6; v = x; } /* { dg-error "expected|uses two different expressions for memory" } */
|
|
38 #pragma omp atomic capture
|
|
39 { x = x - 8 + 6; v = x; } /* { dg-error "expected|uses two different expressions for memory" } */
|
|
40 #pragma omp atomic capture
|
|
41 { x = x ^ 7 | 2; v = x; } /* { dg-error "expected|uses two different expressions for memory" } */
|
|
42 (void) v;
|
|
43 return 0;
|
|
44 }
|