+2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
+ * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
+ * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
+ * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
+
2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
* oacc-init.c (acc_on_device): Force optimization level.
/* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
#include <stdlib.h>
int
main (void)
{
-
+ __builtin_printf ("CheCKpOInT\n");
#pragma acc parallel
{
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail "" } */
/* { dg-do run } */
-/* { dg-shouldfail "" { *-*-* } { "*" } { "" } } */
#include <stdlib.h>
int
main (void)
{
-
+ __builtin_printf ("CheCKpOInT\n");
#pragma acc kernels
{
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT" } */
+/* { dg-shouldfail "" } */
d = (float *) acc_malloc (N * sizeof (float));
acc_map_data (c, d, N * sizeof (float));
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc parallel copyin (a[0:N]) present_or_create (c[0:N+1]) copyout (b[0:N])
{
int ii;
return 0;
}
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
acc_copyin (&i, sizeof i);
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc data copy (i)
++i;
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
+
int
main (int argc, char *argv[])
{
int i;
#pragma acc data present_or_copy (i)
+ {
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc data copyout (i)
- ++i;
+ ++i;
+ }
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
int i;
#pragma acc data present_or_copy (i)
- acc_copyin (&i, sizeof i);
+ {
+ fprintf (stderr, "CheCKpOInT\n");
+ acc_copyin (&i, sizeof i);
+ }
return 0;
}
-/* { dg-shouldfail "" }
- { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
int i;
acc_present_or_copyin (&i, sizeof i);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyin (&i, sizeof i);
return 0;
}
-/* { dg-shouldfail "" }
- { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
int i;
#pragma acc enter data create (i)
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyin (&i, sizeof i);
return 0;
}
-/* { dg-shouldfail "" }
- { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
int i;
acc_present_or_copyin (&i, sizeof i);
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc enter data create (i)
return 0;
}
-/* { dg-shouldfail "" }
- { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
#include <openacc.h>
int
int i;
#pragma acc enter data create (i)
+ fprintf (stderr, "CheCKpOInT\n");
acc_create (&i, sizeof i);
return 0;
}
-/* { dg-shouldfail "" }
- { dg-output "already mapped to" } */
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
+/* { dg-output "already mapped to" } */
+/* { dg-shouldfail "" } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-DACC_MEM_SHARED=0" } } */
+#include <stdio.h>
+
int
main (int argc, char *argv[])
{
int i;
#pragma acc data create (i)
+ {
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc parallel copyin (i)
- ++i;
+ ++i;
+ }
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <openacc.h>
int
acc_init (devtype);
+ fprintf (stderr, "CheCKpOInT\n");
acc_init (devtype);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "device already active" } */
/* { dg-shouldfail "" } */
/* Only nvptx plugin does the required error checking.
{ dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
#include <stdint.h>
if (d == NULL)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
acc_free ((void *)((uintptr_t) d + (uintptr_t) (N >> 1)));
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid device address" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
(void) acc_copyin (h, N);
+ fprintf (stderr, "CheCKpOInT\n");
(void) acc_copyin (h, N);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
acc_copyout (h, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h, N);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
-#include <stdio.h>
-
int
main (int argc, char **argv)
{
acc_free (d);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h, N);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <openacc.h>
int
acc_shutdown (devtype);
+ fprintf (stderr, "CheCKpOInT\n");
acc_shutdown (devtype);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "no device initialized" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
(void) acc_copyin (h, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h, N + 1);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+257\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
(void) acc_copyin (h, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h, 0);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
(void) acc_copyin (h, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h + 1, N - 1);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+255\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
(void) acc_copyin (h2, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_copyout (h1, N + N);
free (h1);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+512\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
if (!d)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_create (h, N);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] already mapped to \\\[\[0-9a-fA-FxX\]+,\\\+256\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h = (unsigned char *) malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_create (h, 0);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h = (unsigned char *) malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_create (0, N);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
if (!d)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
acc_delete (0, N);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
if (!d)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
acc_delete (h, 0);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <openacc.h>
int
{
acc_init (acc_device_host);
+ fprintf (stderr, "CheCKpOInT\n");
acc_shutdown (acc_device_not_host);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* TODO: currently prints: "libgomp: no device found". */
/* { dg-output "device \[0-9\]+\\\(\[0-9\]+\\\) is initialized" { xfail *-*-* } } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
if (!d)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
acc_delete (h, N - 2);
free (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] surrounds2 \\\[\[0-9a-fA-FxX\]+,\\\+254\\\]" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
if (!d1)
abort ();
+ fprintf (stderr, "CheCKpOInT\n");
d2 = acc_present_or_create (h + 2, N);
if (!d2)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\\\] not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h = (unsigned char *) malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_present_or_create (0, N);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h = (unsigned char *) malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_present_or_create (h, 0);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
h[i] = i;
}
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_present_or_copyin (0, N);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,\\\+256\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <openacc.h>
int
main (int argc, char **argv)
{
+ fprintf (stderr, "CheCKpOInT\n");
acc_init ((acc_device_t) 99);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "unknown device type \[0-9\]+" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
h[i] = i;
}
+ fprintf (stderr, "CheCKpOInT\n");
d = acc_present_or_copyin (h, 0);
if (!d)
abort ();
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad range" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h[i] = i;
}
+ fprintf (stderr, "CheCKpOInT\n");
acc_update_device (h, N);
acc_copyout (h, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* TODO: currently doesn't print anything; SIGSEGV.
<https://gcc.gnu.org/PR66518>. */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,256\\\] is not mapped" { xfail *-*-* } } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h[i] = 0xab;
}
+ fprintf (stderr, "CheCKpOInT\n");
acc_update_device (0, N);
acc_copyout (h, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
h[i] = 0xab;
}
+ fprintf (stderr, "CheCKpOInT\n");
acc_update_device (h, 0);
acc_copyout (h, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
memset (&h[0], 0, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_update_self (0, N);
for (i = 0; i < N; i++)
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,256\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
memset (&h[0], 0, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_update_self (h, 0);
for (i = 0; i < N; i++)
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,0\\\] is not mapped" } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_map_data (0, d, N);
acc_unmap_data (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[^\n\r]*,\\\+256\]->\[\[0-9a-fA-FxX\]+,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_map_data (h, 0, N);
acc_unmap_data (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+256\]->\\\[\[^\n\r]*,\\\+256\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_map_data (h, d, 0);
acc_unmap_data (h);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\\\[\[0-9a-fA-FxX\]+,\\\+0\\\]->\\\[\[0-9a-fA-FxX\]+,\\\+0\\\] is a bad map" { target openacc_nvidia_accel_selected } } */
/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+#if ACC_MEM_SHARED
+ fprintf (stderr, "CheCKpOInT\n");
+#endif
acc_map_data (h, d, N);
+#if !ACC_MEM_SHARED
+ fprintf (stderr, "CheCKpOInT\n");
+#endif
acc_unmap_data (d);
acc_free (d);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\[0-9a-fA-FxX\]+ is not a mapped block" { target openacc_nvidia_accel_selected } } */
/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
/* { dg-shouldfail "" } */
/* { dg-do run } */
+#include <stdio.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+#if ACC_MEM_SHARED
+ fprintf (stderr, "CheCKpOInT\n");
+#endif
acc_map_data (h, d, N);
+#if !ACC_MEM_SHARED
+ fprintf (stderr, "CheCKpOInT\n");
+#endif
acc_unmap_data (0);
acc_free (d);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "\[^\n\r]* is not a mapped block" { target openacc_nvidia_accel_selected } } */
/* { dg-output "cannot map data on shared-memory system" { target openacc_host_selected } } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
memset (&h[0], 0, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_to_device (d, h, N << 1);
acc_memcpy_from_device (h, d, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid size" } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_to_device (0, h, N);
memset (&h[0], 0, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid device address" } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_to_device (d, 0, N);
memset (&h[0], 0, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid host address" } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
d = acc_malloc (N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_to_device (d, d, N);
memset (&h[0], 0, N);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid host or device address" } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
memset (&h[0], 0, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_from_device (0, d, N);
for (i = 0; i < N; i++)
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid host address" } */
/* { dg-shouldfail "" } */
/* { dg-do run { target openacc_nvidia_accel_selected } } */
+#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <openacc.h>
memset (&h[0], 0, N);
+ fprintf (stderr, "CheCKpOInT\n");
acc_memcpy_from_device (h, 0, N);
for (i = 0; i < N; i++)
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "invalid device address" } */
/* { dg-shouldfail "" } */
abort ();
}
+ fprintf (stderr, "CheCKpOInT\n");
if (acc_async_test (1) != 0)
{
fprintf (stderr, "asynchronous operation not running\n");
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "unknown async \[0-9\]+" } */
/* { dg-shouldfail "" } */
abort ();
}
+ fprintf (stderr, "CheCKpOInT\n");
acc_wait (1);
atime = stop_timer (0);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "unknown async \[0-9\]+" } */
/* { dg-shouldfail "" } */
}
}
+ fprintf (stderr, "CheCKpOInT\n");
acc_wait_async (1, 1);
acc_wait (1);
return 0;
}
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "identical parameters" } */
/* { dg-shouldfail "" } */
d = (float *) acc_malloc (N * sizeof (float));
acc_map_data (c, d, N * sizeof (float));
+ fprintf (stderr, "CheCKpOInT\n");
#pragma acc data present (a[0:N]) present (c[0:N]) present (b[0:N])
{
#pragma acc parallel
return 0;
}
+
+/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */
/* { dg-output "present clause: !acc_is_present" } */
/* { dg-shouldfail "" } */
-! { dg-shouldfail "" { *-*-* } { "*" } { "" } }
-
program main
implicit none
+ print *, "CheCKpOInT"
!$acc parallel
call abort
!$acc end parallel
end program main
+
+! { dg-output "CheCKpOInT" }
+! { dg-shouldfail "" }
INTEGER I
CALL ACC_COPYIN (I)
-
+ WRITE(0, *) "CheCKpOInT"
!$ACC DATA COPY (I)
I = 0
!$ACC END DATA
END
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
! { dg-shouldfail "" }
INTEGER I
!$ACC DATA PRESENT_OR_COPY (I)
+ WRITE(0, *) "CheCKpOInT"
!$ACC DATA COPYOUT (I)
I = 0
!$ACC END DATA
END
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
! { dg-shouldfail "" }
INTEGER I
!$ACC DATA PRESENT_OR_COPY (I)
+ WRITE(0, *) "CheCKpOInT"
CALL ACC_COPYIN (I)
!$ACC END DATA
END
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
INTEGER I
CALL ACC_PRESENT_OR_COPYIN (I)
+ WRITE(0, *) "CheCKpOInT"
CALL ACC_COPYIN (I)
END
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
INTEGER I
!$ACC ENTER DATA CREATE (I)
+ WRITE(0, *) "CheCKpOInT"
CALL ACC_COPYIN (I)
END
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
INTEGER I
CALL ACC_PRESENT_OR_COPYIN (I)
+ WRITE(0, *) "CheCKpOInT"
!$ACC ENTER DATA CREATE (I)
END
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
INTEGER I
!$ACC ENTER DATA CREATE (I)
+ WRITE(0, *) "CheCKpOInT"
CALL ACC_CREATE (I)
END
-! { dg-shouldfail "" }
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "already mapped to" }
+! { dg-shouldfail "" }
INTEGER I
!$ACC DATA CREATE (I)
+ WRITE(0, *) "CheCKpOInT"
!$ACC PARALLEL COPYIN (I)
I = 0
!$ACC END PARALLEL
END
+! { dg-output "CheCKpOInT(\n|\r\n|\r).*" }
! { dg-output "Trying to map into device \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) object when \\\[\[0-9a-fA-FxX\]+..\[0-9a-fA-FxX\]+\\\) is already mapped" }
! { dg-shouldfail "" }