gcc/libgomp/testsuite/libgomp.c++/pr108286.C

30 lines
362 B
C

// PR c++/108286
// { dg-do run }
struct S {
int
foo ()
{
int res = 0;
#pragma omp target map(size, ptr[:size], res) nowait
res = ptr[size - 1];
#pragma omp taskwait
return res;
}
unsigned size;
int *ptr;
};
int
main ()
{
S s;
int buf[5];
s.size = 5;
s.ptr = buf;
buf[4] = 42;
if (s.foo () != 42)
__builtin_abort ();
}