145
|
1 /* PR c++/91987 */
|
|
2
|
|
3 int bar (void);
|
|
4 void baz (int *);
|
|
5 #pragma omp declare target to (baz)
|
|
6
|
|
7 void
|
|
8 foo (int *a, int (*b)[10][10])
|
|
9 {
|
|
10 #pragma omp target map(a[bar ()])
|
|
11 baz (a);
|
|
12 #pragma omp target map(a[bar ():1])
|
|
13 baz (a);
|
|
14 #pragma omp target map(a[10:bar ()])
|
|
15 baz (a);
|
|
16 #pragma omp task depend(inout:a[10:bar ()])
|
|
17 baz (a);
|
|
18 #pragma omp task depend(inout:a[10:bar ()])
|
|
19 baz (a);
|
|
20 #pragma omp parallel reduction(+:a[bar ():2])
|
|
21 baz (a);
|
|
22 #pragma omp parallel reduction(+:a[2:bar ()])
|
|
23 baz (a);
|
|
24 #pragma omp parallel reduction(+:b[bar ():2][bar ():10][bar ():10])
|
|
25 baz (a);
|
|
26 }
|