OpenMP-Examples/sources/Example_declare_target.2c.c
2015-01-13 11:38:24 -08:00

29 lines
480 B
C

/*
* @@name: declare_target.2c
* @@type: C++
* @@compilable: no
* @@linkable: no
* @@expect: failure
*/
struct typeX
{
int a;
}
class typeY
{
int foo() { return a^0x01;}
int a;
}
#pragma omp declare target
struct typeX varX; // ok
class typeY varY; // ok if varY.foo() not called on target device
#pragma omp end declare target
void foo()
{
#pragma omp target
{
varX.a = 100; // ok
varY.foo(); // error foo() is not available on a target device
}
}