// { dg-run } | |
#pragma omp begin declare target indirect | |
class C | |
{ | |
public: | |
int y; | |
int f (int x) { return x + y; } | |
}; | |
#pragma omp end declare target | |
int main (void) | |
{ | |
C c; | |
c.y = 27; | |
int x; | |
int (C::*fn_ptr) (int) = &C::f; | |
#pragma omp target map (to: c, fn_ptr) map (from: x) | |
x = (c.*fn_ptr) (42); | |
return x != 27 + 42; | |
} |