| // RUN: %libomptarget-compilexx-generic && %libomptarget-run-generic | %fcheck-generic | |
| #include <cstdio> | |
| int foo() { return 1; } | |
| class C { | |
| public: | |
| C() : x(foo()) {} | |
| int x; | |
| }; | |
| C c; | |
| #pragma omp declare target(c) | |
| int main() { | |
| int x = 0; | |
| #pragma omp target map(from : x) | |
| { x = c.x; } | |
| // CHECK: PASS | |
| if (x == 1) | |
| printf("PASS\n"); | |
| } |