Add 'libgomp.oacc-c-c++-common/host_data-6.c'
libgomp/ * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file. From-SVN: r279119
This commit is contained in:
parent
b5859e4002
commit
1e1fb715cd
2 changed files with 49 additions and 0 deletions
|
@ -1,5 +1,7 @@
|
|||
2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
|
||||
|
||||
* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
|
||||
|
||||
* target.c (gomp_exit_data): Use 'gomp_remove_var'.
|
||||
|
||||
2019-12-09 Tobias Burnus <tobias@codesourcery.com>
|
||||
|
|
47
libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c
Normal file
47
libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c
Normal file
|
@ -0,0 +1,47 @@
|
|||
/* Call 'acc_memcpy_from_device' inside '#pragma acc host_data'. */
|
||||
|
||||
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <openacc.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
const int SIZE = 318;
|
||||
const int c0 = 22;
|
||||
const int c1 = 112;
|
||||
|
||||
char *h = (char *) malloc (SIZE);
|
||||
|
||||
memset (h, c0, SIZE);
|
||||
|
||||
#pragma acc data create (h[0:SIZE - 44])
|
||||
{
|
||||
#pragma acc update device (h[0:SIZE - 44])
|
||||
|
||||
memset (h, c1, 67);
|
||||
|
||||
void *d = h;
|
||||
#pragma acc host_data use_device (d)
|
||||
{
|
||||
acc_memcpy_from_device (h, d, 12);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < SIZE; ++i)
|
||||
{
|
||||
if (i < 12)
|
||||
assert (h[i] == c0);
|
||||
else if (i < 67)
|
||||
assert (h[i] == c1);
|
||||
else
|
||||
assert (h[i] == c0);
|
||||
}
|
||||
|
||||
free (h);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue