diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2015-10-26 17:24:44 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gcc.gnu.org> | 2015-10-26 17:24:44 +0100 |
commit | aa8b7d3051adfdd4ed6ef875de5e8bbebd0746d7 (patch) | |
tree | 7c1e10b20f55d7105ac57aed5fdfa1c88960b9ed /libgomp | |
parent | 7c8f138de604aea3d4bb29f8bc3303ddaa82959b (diff) | |
download | gcc-aa8b7d3051adfdd4ed6ef875de5e8bbebd0746d7.zip gcc-aa8b7d3051adfdd4ed6ef875de5e8bbebd0746d7.tar.gz gcc-aa8b7d3051adfdd4ed6ef875de5e8bbebd0746d7.tar.bz2 |
libgomp: Additional acc_shutdown bug fixing and testing
libgomp/
* oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
* testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
From-SVN: r229380
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/ChangeLog | 3 | ||||
-rw-r--r-- | libgomp/oacc-init.c | 2 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.oacc-c-c++-common/lib-8.c | 19 |
3 files changed, 24 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index e99f924..ad970df 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,5 +1,8 @@ 2015-10-26 Thomas Schwinge <thomas@codesourcery.com> + * oacc-init.c (acc_shutdown): Call gomp_init_targets_once. + * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file. + PR libgomp/66518 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL. diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c index a0e62a4..9a9a0b0 100644 --- a/libgomp/oacc-init.c +++ b/libgomp/oacc-init.c @@ -449,6 +449,8 @@ ialias (acc_init) void acc_shutdown (acc_device_t d) { + gomp_init_targets_once (); + gomp_mutex_lock (&acc_device_lock); acc_shutdown_1 (d); diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-8.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-8.c new file mode 100644 index 0000000..ea28b6b --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/lib-8.c @@ -0,0 +1,19 @@ +/* Expect error message when shutting down a device that has never been + initialized. */ +/* { dg-do run } */ + +#include <stdio.h> +#include <openacc.h> + +int +main (int argc, char **argv) +{ + fprintf (stderr, "CheCKpOInT\n"); + acc_shutdown (acc_device_default); + + return 0; +} + +/* { dg-output "CheCKpOInT(\n|\r\n|\r).*" } */ +/* { dg-output "no device initialized" } */ +/* { dg-shouldfail "" } */ |