3d1b5e710e
... to document the status quo. libgomp/ PR libgomp/92854 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c: New file. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c: Likewise. From-SVN: r279231
32 lines
897 B
C
32 lines
897 B
C
/* Verify that we refuse 'acc_map_data' when the "device address [...] is
|
|
already mapped". */
|
|
|
|
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
|
|
|
|
#include <assert.h>
|
|
#include <stdio.h>
|
|
#include <openacc.h>
|
|
|
|
double global_var;
|
|
#pragma acc declare create (global_var)
|
|
|
|
int
|
|
main ()
|
|
{
|
|
double var;
|
|
void *d = acc_deviceptr (&global_var);
|
|
assert (d);
|
|
/* Try to arrange a setting such that a later 'acc_unmap_data' would find the
|
|
device memory object still referenced elsewhere. This is not possible,
|
|
given the semantics of 'acc_map_data'. */
|
|
fprintf (stderr, "CheCKpOInT\n");
|
|
acc_map_data (&var, d, sizeof var);
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
|
|
/* { dg-output "device address \\\[\[0-9a-fA-FxX\]+, \\\+8\\\] is already mapped" { xfail *-*-* } } TODO PR92888 */
|
|
/* { dg-shouldfail "TODO PR92888" { this-really-should-fail } } */
|