blob: 80f763a4c5fd03421c8b7cef912a884d999f4168 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// PR c++/63249
// { dg-do compile }
// { dg-options "-Wall -W -fopenmp" }
template <int N>
int
foo (int *v, int A, int B) // { dg-bogus "set but not used" }
{
int r = 0;
int a = 2; // { dg-bogus "set but not used" }
int b = 4; // { dg-bogus "set but not used" }
#pragma omp target map(to: v[a:b])
r |= v[3];
#pragma omp target map(to: v[A:B])
r |= v[3];
return r;
}
template <typename T>
int
bar (T *v, T A, T B) // { dg-bogus "set but not used" }
{
T r = 0, a = 2, b = 4; // { dg-bogus "set but not used" }
#pragma omp target map(to: v[a:b])
r |= v[3];
#pragma omp target map(to: v[A:B])
r |= v[3];
return r;
}
int
baz (int *v, int A, int B)
{
return foo<0> (v, A, B) + bar (v, A, B);
}
|