brintos

brintos / llvm-project-archived public Read only

0
0
Text · 549 B · ca8112e Raw
30 lines · cpp
1// clang-format off2// RUN: %libomptarget-compilexx-generic -Wno-openmp-mapping && %libomptarget-run-generic3 4#include <assert.h>5 6// clang-format on7 8struct Inner {9  int *data;10  Inner(int size) { data = new int[size](); }11  ~Inner() { delete[] data; }12};13#pragma omp declare mapper(Inner i) map(i, i.data[0 : 10])14 15struct Outer {16  Inner i;17  Outer() : i(10) {}18};19#pragma omp declare mapper(Outer o) map(o, o.i)20 21int main() {22  Outer o;23#pragma omp target map(tofrom : o)24  {25    o.i.data[0] = 42;26  }27  assert(o.i.data[0] == 42);28  return 0;29}30