mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
7c961392a6
commit
e9b596c132
|
|
@ -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>
|
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
Update copyright years.
|
Update copyright years.
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@ int acc_set_cuda_stream (int, void *) __GOACC_NOTHROW;
|
||||||
|
|
||||||
/* Forwarding function with correctly typed arg. */
|
/* Forwarding function with correctly typed arg. */
|
||||||
|
|
||||||
|
#pragma acc routine seq
|
||||||
inline int acc_on_device (acc_device_t __arg) __GOACC_NOTHROW
|
inline int acc_on_device (acc_device_t __arg) __GOACC_NOTHROW
|
||||||
{
|
{
|
||||||
return acc_on_device ((int) __arg);
|
return acc_on_device ((int) __arg);
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue