#include int main (void) { void *a, *a_1, *a_2; #define A (void *) 0x123 a = A; #pragma acc data copyout (a_1, a_2) #pragma acc kernels deviceptr (a) { a_1 = a; a_2 = &a; } if (a != A) abort (); if (a_1 != a) abort (); #if ACC_MEM_SHARED if (a_2 != &a) abort (); #else if (a_2 == &a) abort (); #endif a_1 = a_2 = 0; #pragma acc data deviceptr (a) #pragma acc parallel copyout (a_1, a_2) { a_1 = a; a_2 = &a; } if (a != A) abort (); if (a_1 != a) abort (); #if ACC_MEM_SHARED if (a_2 != &a) abort (); #else if (a_2 == &a) abort (); #endif return 0; }