1 /* { dg-do compile } */
2 /* { dg-options "-fopenmp" } */
4 struct T
{ int c
[3]; };
5 struct S
{ int a
; struct T
*b
; struct T g
; };
14 #pragma omp task depend(inout: d)
16 #pragma omp task depend(out: d[2])
18 #pragma omp task depend(in: d[:])
20 #pragma omp task depend(in: d[2:2])
22 #pragma omp task depend(in: d[:2])
24 #pragma omp task depend(inout: d[1].b->c[2])
26 #pragma omp task depend(out: d[0].a)
28 #pragma omp task depend(in: e[3]->a)
30 #pragma omp task depend(inout: e[2]->b->c)
32 #pragma omp task depend(in: e[1]->b->c[2])
34 #pragma omp task depend(out: (*f).a)
36 #pragma omp task depend(inout: f->b->c[0])
38 #pragma omp task depend(in: f)
40 #pragma omp task depend(out: *f)
42 #pragma omp task depend(inout: f[0])
44 #pragma omp task depend(in: f[0].a)
46 #pragma omp task depend(inout: h.g.c[2])