extern "C" void abort (); | |
struct S | |
{ | |
int a, b, c, d; | |
int sum (void) | |
{ | |
int val = 0; | |
val += a + b + this->c + this->d; | |
return val; | |
} | |
int sum_offload (void) | |
{ | |
int val = 0; | |
#pragma omp target map(val) | |
val += a + b + this->c + this->d; | |
return val; | |
} | |
}; | |
int main (void) | |
{ | |
S s = { 1, 2, 3, 4 }; | |
if (s.sum () != s.sum_offload ()) | |
abort (); | |
return 0; | |
} |