[PR libgomp/65742, PR middle-end/66332] XFAIL acc_on_device compile-time evaluation

The OpenACC 2.0a specification mandates differently, but we currently do get a
library call in the host code.

	PR libgomp/65742
	PR middle-end/66332

	gcc/testsuite/
	* c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too.

From-SVN: r224028
This commit is contained in:
Thomas Schwinge 2015-06-02 13:48:56 +02:00 committed by Thomas Schwinge
parent 6a3222f3c7
commit 1817fe58f2
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2015-06-02 Thomas Schwinge <thomas@codesourcery.com>
PR libgomp/65742
PR middle-end/66332
* c-c++-common/goacc/acc_on_device-2.c: XFAIL for C, too.
2015-06-02 Uros Bizjak <ubizjak@gmail.com>
* g++.dg/abi/mangle-regparm.C (dg-do): Fix x86_32 target selector.

View file

@ -20,9 +20,17 @@ f (void)
}
/* With -fopenacc, we're expecting the builtin to be expanded, so no calls.
TODO: in C++, even under extern "C", the use of enum for acc_device_t
perturbs expansion as a builtin, which expects an int parameter. It's fine
when changing acc_device_t to plain int, but that's not what we're doing in
<openacc.h>.
{ dg-final { scan-rtl-dump-times "\\\(call \[^\\n\]* acc_on_device" 0 "expand" { xfail c++ } } } */
TODO: given that we can't expand acc_on_device in
gcc/builtins.c:expand_builtin_acc_on_device for in the !ACCEL_COMPILER case
(because at that point we don't know whether we're acc_device_host or
acc_device_host_nonshm), we'll (erroneously) get a library call in the host
code.
{ dg-final { scan-rtl-dump-times "\\\(call \[^\\n\]* acc_on_device" 0 "expand" { xfail { c || c++ } } } } */