PR target/77349
[official-gcc.git] / libgomp / testsuite / libgomp.oacc-c-c++-common / deviceptr-1.c
blob8247e7b6bdd06edef5a119f7f9514481bbe0b7d4
1 #include <stdlib.h>
3 int main (void)
5 void *a, *a_1, *a_2;
7 #define A (void *) 0x123
8 a = A;
10 #pragma acc data copyout (a_1, a_2)
11 #pragma acc kernels deviceptr (a)
13 a_1 = a;
14 a_2 = &a;
17 if (a != A)
18 abort ();
19 if (a_1 != a)
20 abort ();
21 #if ACC_MEM_SHARED
22 if (a_2 != &a)
23 abort ();
24 #else
25 if (a_2 == &a)
26 abort ();
27 #endif
29 a_1 = a_2 = 0;
31 #pragma acc data deviceptr (a)
32 #pragma acc parallel copyout (a_1, a_2)
34 a_1 = a;
35 a_2 = &a;
38 if (a != A)
39 abort ();
40 if (a_1 != a)
41 abort ();
42 #if ACC_MEM_SHARED
43 if (a_2 != &a)
44 abort ();
45 #else
46 if (a_2 == &a)
47 abort ();
48 #endif
50 return 0;