ddb25eb9ca
PR92970 "OpenACC 2.5: 'acc_delete' etc. on non-present data is a no-op" is an actual bug fix, and the other ones are fall-out, currently undefined behavior. libgomp/ PR libgomp/92726 PR libgomp/92970 PR libgomp/92984 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host' fails. (GOACC_enter_exit_data): Simplify accordingly. * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file, subsuming... * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file... * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this file. * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file, subsuming... * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file... * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this file. * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file, subsuming... * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file. From-SVN: r279532
27 lines
443 B
C
27 lines
443 B
C
/* Verify that 'acc_delete' etc. with a 'NULL' address is a no-op. */
|
|
|
|
#include <assert.h>
|
|
#include <stdlib.h>
|
|
#include <openacc.h>
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
const int N = 256;
|
|
|
|
unsigned char *a = (unsigned char *) malloc (N);
|
|
assert (a);
|
|
|
|
void *a_d = acc_create (a, N);
|
|
assert (a_d);
|
|
|
|
acc_delete (NULL, N);
|
|
assert (acc_is_present (a, N));
|
|
//TODO similar for others.
|
|
|
|
acc_delete (a, N);
|
|
free (a);
|
|
|
|
return 0;
|
|
}
|