// { dg-do run } | |
// { dg-require-effective-target offload_device_shared_as } | |
#include <stdlib.h> | |
struct typeX | |
{ | |
int a; | |
}; | |
class typeY | |
{ | |
public: | |
int foo () { return a^0x01; } | |
int a; | |
}; | |
#pragma omp declare target | |
struct typeX varX; | |
class typeY varY; | |
#pragma omp end declare target | |
int main () | |
{ | |
varX.a = 0; | |
varY.a = 0; | |
#pragma omp target | |
{ | |
varX.a = 100; | |
varY.a = 100; | |
} | |
if (varX.a != 100 || varY.a != 100) | |
abort (); | |
return 0; | |
} |