3 // { dg-options "-fopenmp" }
5 template <typename T, typename U>
6 extern void bar (T, T, U);
8 template <typename T, typename U>
12 #pragma omp parallel for simd shared (a, c) reduction (+:b)
13 for (int i = 0; i < 10; i++)
15 #pragma omp target map(tofrom:a, c[0:5])
17 #pragma omp task depend(inout:c[4:2])
22 #pragma omp parallel for simd shared (d, f) reduction (+:e)
23 for (int i = 0; i < 10; i++)
25 #pragma omp target map(tofrom:d, f[0:5])
27 #pragma omp task depend(inout:f[4:2])
34 int a = 0, b = 0, cb[10] = {}, *c = cb;
35 foo <int, int *> (a, b, c);
36 foo <int &, int *&> (a, b, c);