111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fopenmp" } */
|
|
3
|
|
4 void
|
|
5 foo (void)
|
|
6 {
|
|
7 int i, j, k;
|
|
8 #pragma omp for ordered (1)
|
|
9 for (i = 0; i < 64; i++)
|
|
10 {
|
|
11 #pragma omp ordered depend (sink: i - 1)
|
|
12 #pragma omp ordered depend (source)
|
|
13 }
|
|
14 #pragma omp for ordered (1) collapse (1)
|
|
15 for (i = 0; i < 64; i++)
|
|
16 {
|
|
17 #pragma omp ordered depend (sink: i - 1)
|
|
18 #pragma omp ordered depend (source)
|
|
19 }
|
|
20 #pragma omp for collapse (2) ordered (1) /* { dg-error "clause parameter is less than" } */
|
|
21 for (i = 0; i < 64; i++)
|
|
22 for (j = 0; j < 64; j++)
|
|
23 {
|
|
24 #pragma omp ordered depend (sink: i - 1) /* { dg-error "does not match number" } */
|
|
25 #pragma omp ordered depend (source)
|
|
26 }
|
|
27 #pragma omp for ordered (2) collapse (3) /* { dg-error "clause parameter is less than" } */
|
|
28 for (i = 0; i < 64; i++)
|
|
29 for (j = 0; j < 64; j++)
|
|
30 for (k = 0; k < 64; k++)
|
|
31 {
|
|
32 #pragma omp ordered depend (sink: i - 1, j - 2) /* { dg-error "does not match number" } */
|
|
33 #pragma omp ordered depend (source)
|
|
34 }
|
|
35 #pragma omp ordered depend (sink: j) /* { dg-error "clause must be closely nested inside an .ordered. loop" } */
|
|
36 #pragma omp ordered depend (source) /* { dg-error "clause must be closely nested inside an .ordered. loop" } */
|
|
37 #pragma omp for ordered (1)
|
|
38 for (i = 0; i < 64; i++)
|
|
39 {
|
|
40 #pragma omp ordered depend (sink: i - 1) depend (sink: i - 2)
|
145
|
41 #pragma omp ordered depend (source) depend (source) /* { dg-error "more than one .depend. clause with .source. modifier on an .ordered. construct" } */
|
111
|
42 }
|
|
43 #pragma omp for ordered (1)
|
|
44 for (i = 0; i < 64; i++)
|
|
45 {
|
145
|
46 #pragma omp ordered depend (sink: i - 1) depend (source) depend (sink: i - 2) /* { dg-error ".depend. clause with .source. modifier specified together with .depend. clauses with .sink. modifier on the same construct" } */
|
111
|
47 }
|
|
48 }
|