PR rtl-optimization/77919
[official-gcc.git] / libgomp / testsuite / libgomp.c++ / declare_target-1.C
blob4394bb1405dfaf7a773ae4c3380c05b2e289e0fb
1 // { dg-do run }
2 // { dg-require-effective-target offload_device_shared_as }
4 #include <stdlib.h>
6 struct typeX
8   int a;
9 };
11 class typeY
13 public:
14   int foo () { return a^0x01; }
15   int a;
18 #pragma omp declare target
19 struct typeX varX;
20 class typeY varY;
21 #pragma omp end declare target
23 int main ()
25   varX.a = 0;
26   varY.a = 0;
28   #pragma omp target
29     {
30       varX.a = 100;
31       varY.a = 100;
32     }
34   if (varX.a != 100 || varY.a != 100)
35     abort ();
37   return 0;