aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c++/pr108286.C
blob: ee88c2f9fd09b88687309028f50e98f3cb7c3194 (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
// 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 ();
}