openacc.c (acc_on_device): Add routine pragma for C++ wrapper.

* openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.

From-SVN: r232104
This commit is contained in:
Nathan Sidwell 2016-01-06 15:47:14 +00:00 committed by Nathan Sidwell
parent 7c961392a6
commit e9b596c132
3 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2016-01-06 Nathan Sidwell <nathan@acm.org>
* openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.

View File

@ -121,6 +121,7 @@ int acc_set_cuda_stream (int, void *) __GOACC_NOTHROW;
/* Forwarding function with correctly typed arg. */
#pragma acc routine seq
inline int acc_on_device (acc_device_t __arg) __GOACC_NOTHROW
{
return acc_on_device ((int) __arg);

View File

@ -0,0 +1,23 @@
/* { dg-additional-options "-O0" } */
#include <openacc.h>
/* acc_on_device might not be folded at -O0, but it should work. */
int main ()
{
int dev;
#pragma acc parallel copyout (dev)
{
dev = acc_on_device (acc_device_not_host);
}
int expect = 1;
#if ACC_DEVICE_TYPE_host
expect = 0;
#endif
return dev != expect;
}