]>
Commit | Line | Data |
---|---|---|
43895be5 | 1 | /* { dg-do compile } */ |
2 | /* { dg-options "-fopenmp" } */ | |
3 | ||
4 | void bar (int a[10][10][10]); | |
5 | extern int f[][2]; /* { dg-error "has incomplete type" "" { target c++ } } */ | |
6 | extern int g[]; /* { dg-error "has incomplete type" "" { target c++ } } */ | |
7 | void | |
8 | foo (int a[10][10][10], int **b, int x) | |
9 | { | |
10 | int c[10][10][0]; | |
11 | int d[0]; | |
12 | char e[12]; | |
13 | #pragma omp parallel reduction(+: a[:4][:0][:7]) /* { dg-error "zero length array section" } */ | |
14 | bar (a); | |
15 | #pragma omp parallel reduction(+: b[:7][0:0][:0]) /* { dg-error "zero length array section" } */ | |
16 | bar (a); | |
17 | #pragma omp parallel reduction(+: c[:][:][0:]) /* { dg-error "zero length array section|for unknown bound array type length expression must be specified" } */ | |
18 | bar (a); | |
19 | #pragma omp parallel reduction(+: a[:4][:0][:x]) /* { dg-error "zero length array section" } */ | |
20 | bar (a); | |
21 | #pragma omp parallel reduction(+: b[:x][0:0][:0]) /* { dg-error "zero length array section" } */ | |
22 | bar (a); | |
23 | #pragma omp parallel reduction(+: c[:][:x][0:]) /* { dg-error "zero length array section|for unknown bound array type length expression must be specified" } */ | |
24 | bar (a); | |
25 | #pragma omp parallel reduction(+: d) /* { dg-error "is a zero size array" } */ | |
26 | bar (a); | |
27 | #pragma omp parallel reduction(+: a[0:4]) | |
28 | bar (a); | |
9561765e | 29 | #pragma omp parallel reduction(+: a[2:4]) |
43895be5 | 30 | bar (a); |
9561765e | 31 | #pragma omp parallel reduction(+: e[2:4]) |
32 | bar (a); | |
33 | #pragma omp parallel reduction(+: a[x:4]) | |
34 | bar (a); | |
35 | #pragma omp parallel reduction(+: e[x:4]) | |
36 | bar (a); | |
37 | #pragma omp parallel reduction(+: a[x:x]) | |
38 | bar (a); | |
39 | #pragma omp parallel reduction(+: e[x:x]) | |
43895be5 | 40 | bar (a); |
41 | #pragma omp parallel reduction(+: a[0.5:2]) /* { dg-error "low bound \[^\n\r]* of array section does not have integral type" } */ | |
42 | bar (a); | |
43 | #pragma omp parallel reduction(+: a[0:2.5]) /* { dg-error "length \[^\n\r]* of array section does not have integral type" } */ | |
44 | bar (a); | |
45 | #pragma omp parallel reduction(+: f[:][0:2]) /* { dg-error "for unknown bound array type length expression must be specified" } */ | |
46 | bar (a); | |
47 | #pragma omp parallel reduction(+: a[:][0:10]) /* { dg-error "for pointer type length expression must be specified" } */ | |
48 | bar (a); | |
49 | #pragma omp parallel reduction(+: a[:10][0:12]) /* { dg-error "above array section size" } */ | |
50 | bar (a); | |
51 | #pragma omp parallel reduction(+: b[0:10][0:10]) /* { dg-error "array section is not contiguous" } */ | |
52 | bar (a); | |
53 | #pragma omp parallel reduction(+: a[0:2][0:9]) /* { dg-error "array section is not contiguous" } */ | |
54 | bar (a); | |
55 | #pragma omp parallel reduction(+: f) /* { dg-error "has an incomplete type|invalid use of array with unspecified bounds" } */ | |
56 | bar (a); | |
57 | #pragma omp parallel reduction(+: g) /* { dg-error "has an incomplete type|invalid use of array with unspecified bounds" } */ | |
58 | bar (a); | |
59 | } |