re PR middle-end/86660 (libgomp.c++/for-15.C ICEs with nvptx offloading)
PR testsuite/86660 * testsuite/libgomp.c++/for-15.C (results): Include it in omp declare target region. (main): Use map (always, tofrom: results) instead of map (tofrom: results). From-SVN: r263011
This commit is contained in:
parent
5883c5ccc9
commit
5d36384c69
@ -1,5 +1,11 @@
|
|||||||
2018-07-26 Jakub Jelinek <jakub@redhat.com>
|
2018-07-26 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR testsuite/86660
|
||||||
|
* testsuite/libgomp.c++/for-15.C (results): Include it in
|
||||||
|
omp declare target region.
|
||||||
|
(main): Use map (always, tofrom: results) instead of
|
||||||
|
map (tofrom: results).
|
||||||
|
|
||||||
PR middle-end/86660
|
PR middle-end/86660
|
||||||
* testsuite/libgomp.c/pr86660.c: New test.
|
* testsuite/libgomp.c/pr86660.c: New test.
|
||||||
|
|
||||||
|
@ -88,11 +88,9 @@ private:
|
|||||||
|
|
||||||
template <typename T> const I<T> &J<T>::begin () { return b; }
|
template <typename T> const I<T> &J<T>::begin () { return b; }
|
||||||
template <typename T> const I<T> &J<T>::end () { return e; }
|
template <typename T> const I<T> &J<T>::end () { return e; }
|
||||||
#pragma omp end declare target
|
|
||||||
|
|
||||||
int results[2000];
|
int results[2000];
|
||||||
|
|
||||||
#pragma omp declare target
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void
|
void
|
||||||
baz (I<T> &i)
|
baz (I<T> &i)
|
||||||
@ -186,37 +184,37 @@ main ()
|
|||||||
a[i] = i;
|
a[i] = i;
|
||||||
#pragma omp target data map (to: a)
|
#pragma omp target data map (to: a)
|
||||||
{
|
{
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[75], &a[1945]);
|
J<int> j (&a[75], &a[1945]);
|
||||||
f1 (j);
|
f1 (j);
|
||||||
}
|
}
|
||||||
check (i >= 75 && i < 1945 && (i - 75) % 3 == 0);
|
check (i >= 75 && i < 1945 && (i - 75) % 3 == 0);
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[63], &a[1949]);
|
J<int> j (&a[63], &a[1949]);
|
||||||
f2 (j);
|
f2 (j);
|
||||||
}
|
}
|
||||||
check (i >= 63 && i < 1949);
|
check (i >= 63 && i < 1949);
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[58], &a[1979]);
|
J<int> j (&a[58], &a[1979]);
|
||||||
f3 <2> (j);
|
f3 <2> (j);
|
||||||
}
|
}
|
||||||
check (i >= 58 && i < 1979 && (i - 58) % 6 == 0);
|
check (i >= 58 && i < 1979 && (i - 58) % 6 == 0);
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[59], &a[1981]);
|
J<int> j (&a[59], &a[1981]);
|
||||||
f4 <9> (j);
|
f4 <9> (j);
|
||||||
}
|
}
|
||||||
check (i >= 59 && i < 1981 && (i - 59) % 9 == 0);
|
check (i >= 59 && i < 1981 && (i - 59) % 9 == 0);
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[52], &a[1972]);
|
J<int> j (&a[52], &a[1972]);
|
||||||
f5 (j);
|
f5 (j);
|
||||||
}
|
}
|
||||||
check (i >= 52 && i < 1972 && (i - 52) % 4 == 0);
|
check (i >= 52 && i < 1972 && (i - 52) % 4 == 0);
|
||||||
#pragma omp target teams map (tofrom: results)
|
#pragma omp target teams map (always, tofrom: results)
|
||||||
{
|
{
|
||||||
J<int> j (&a[31], &a[1827]);
|
J<int> j (&a[31], &a[1827]);
|
||||||
f6 (j);
|
f6 (j);
|
||||||
|
Loading…
Reference in New Issue
Block a user