111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-fopenmp" } */
|
|
3
|
|
4 struct S {};
|
|
5 void foo (void *, void *);
|
|
6 void bar (void *, void *);
|
|
7 void baz (void *);
|
|
8 #pragma omp declare reduction(+:struct S:foo (&omp_out, &omp_in))initializer(bar(&omp_priv, &omp_orig))
|
|
9
|
|
10 void
|
|
11 test (void)
|
|
12 {
|
|
13 struct S b[10];
|
|
14 #pragma omp parallel reduction(+:b[0:5]) /* { dg-error "zero length array section" } */
|
|
15 baz (b);
|
|
16 #pragma omp parallel reduction(+:b[:10]) /* { dg-error "zero length array section" } */
|
|
17 baz (b);
|
|
18 #pragma omp parallel reduction(+:b) /* { dg-error "is a zero size array" } */
|
|
19 baz (b);
|
|
20 }
|