Hi! Cesar and Jim copied, for help with Fortran and generally testsuite things.
On Mon, 30 Nov 2015 19:30:34 +0000, Julian Brown <jul...@codesourcery.com> wrote: > [patch] First, thanks! > Tests look OK (libgomp/gcc/g++/libstdc++), and the new ones pass. I see a regression (ICE) in gfortran.dg/goacc/coarray.f95 (done: XFAILed, and obsolete dg-excess-errors directives removed; compare to gfortran.dg/goacc/coarray_2.f90), and I see new FAILs for non-offloading execution of libgomp.oacc-c-c++-common/host_data-2.c, libgomp.oacc-c-c++-common/host_data-4.c, and libgomp.oacc-c-c++-common/host_data-5.c (done: see below); confirmed by a number of reports on the <gcc-regress...@gcc.gnu.org> and <gcc-testresu...@gcc.gnu.org> mailing lists. I can understand that you didn't see the Fortran problem if not running Fortrant testing (but why?), but it's strange that you didn't see the libgomp C/C++ FAILs. A few patch review items, some of which I've already addressed (see below). > --- a/gcc/c/c-parser.c > +++ b/gcc/c/c-parser.c > @@ -10279,6 +10279,8 @@ c_parser_omp_clause_name (c_parser *parser) > result = PRAGMA_OMP_CLAUSE_UNTIED; > else if (!strcmp ("use_device_ptr", p)) > result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; > + else if (!strcmp ("use_device", p)) > + result = PRAGMA_OACC_CLAUSE_USE_DEVICE; "use_device" sorts before "use_device_ptr". (Done.) > @@ -12940,6 +12951,10 @@ c_parser_oacc_all_clauses (c_parser *parser, > omp_clause_mask mask, > clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); > c_name = "self"; > break; > + case PRAGMA_OACC_CLAUSE_USE_DEVICE: > + clauses = c_parser_oacc_clause_use_device (parser, clauses); > + c_name = "use_device"; > + break; > case PRAGMA_OACC_CLAUSE_SEQ: > clauses = c_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ, > clauses); Sorting? (Done.) > --- a/gcc/cp/parser.c > +++ b/gcc/cp/parser.c > @@ -29232,6 +29232,8 @@ cp_parser_omp_clause_name (cp_parser *parser) > result = PRAGMA_OMP_CLAUSE_UNTIED; > else if (!strcmp ("use_device_ptr", p)) > result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; > + else if (!strcmp ("use_device", p)) > + result = PRAGMA_OACC_CLAUSE_USE_DEVICE; > break; Likewise. (Done.) > @@ -31598,6 +31600,11 @@ cp_parser_oacc_all_clauses (cp_parser *parser, > omp_clause_mask mask, > clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); > c_name = "self"; > break; > + case PRAGMA_OACC_CLAUSE_USE_DEVICE: > + clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE, > + clauses); > + c_name = "use_device"; > + break; > case PRAGMA_OACC_CLAUSE_SEQ: > clauses = cp_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ, > clauses, here); Likewise. (Done.) > +#define OACC_HOST_DATA_CLAUSE_MASK \ > + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_USE_DEVICE) ) > + > +/* OpenACC 2.0: > + # pragma acc host_data <clauses> new-line > + structured-block */ Define OACC_HOST_DATA_CLAUSE_MASK after the "accepted syntax" comment. (Done.) There is no handlig of OMP_CLAUSE_USE_DEVICE in gcc/cp/pt.c:tsubst_omp_clauses. (Done.) > --- a/gcc/gimplify.c > +++ b/gcc/gimplify.c > @@ -6418,6 +6422,7 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq > *pre_p, | if (!lang_GNU_Fortran ()) | switch (code) | { | case OMP_TARGET: > case OMP_TARGET_DATA: > case OMP_TARGET_ENTER_DATA: > case OMP_TARGET_EXIT_DATA: > + case OACC_HOST_DATA: > ctx->target_firstprivatize_array_bases = true; > default: > break; I understand it's not yet relevant/supported for OpenMP in Fortran, but why is C/C++ vs. Fortran being handled differently here for OpenACC host_data? > --- a/libgomp/oacc-parallel.c > +++ b/libgomp/oacc-parallel.c > +void > +GOACC_host_data (int device, size_t mapnum, > + void **hostaddrs, size_t *sizes, unsigned short *kinds) > +{ > + bool host_fallback = device == GOMP_DEVICE_HOST_FALLBACK; > + struct target_mem_desc *tgt; > + > +#ifdef HAVE_INTTYPES_H > + gomp_debug (0, "%s: mapnum=%"PRIu64", hostaddrs=%p, size=%p, kinds=%p\n", > + __FUNCTION__, (uint64_t) mapnum, hostaddrs, sizes, kinds); > +#else > + gomp_debug (0, "%s: mapnum=%lu, hostaddrs=%p, sizes=%p, kinds=%p\n", > + __FUNCTION__, (unsigned long) mapnum, hostaddrs, sizes, kinds); > +#endif > + > + goacc_lazy_initialize (); > + > + struct goacc_thread *thr = goacc_thread (); > + struct gomp_device_descr *acc_dev = thr->dev; > + > + /* Host fallback or 'do nothing'. */ > + if ((acc_dev->capabilities & GOMP_OFFLOAD_CAP_SHARED_MEM) > + || host_fallback) > + { > + tgt = gomp_map_vars (NULL, 0, NULL, NULL, NULL, NULL, true, > + GOMP_MAP_VARS_OPENACC); > + tgt->prev = thr->mapped_data; > + thr->mapped_data = tgt; > + > + return; > + } > + > + gomp_debug (0, " %s: prepare mappings\n", __FUNCTION__); > + tgt = gomp_map_vars (acc_dev, mapnum, hostaddrs, NULL, sizes, kinds, true, > + GOMP_MAP_VARS_OPENACC); > + gomp_debug (0, " %s: mappings prepared\n", __FUNCTION__); > + tgt->prev = thr->mapped_data; > + thr->mapped_data = tgt; > +} Isn't that identical to GOACC_data_start? Can we thus get rid of it? > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-1.c > @@ -0,0 +1,100 @@ > +/* { dg-do run { target openacc_nvidia_accel_selected } } */ > +[...] > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c > @@ -0,0 +1,31 @@ > +/* { dg-do run } */ FAILs for non-offloading execution; restrict testing as done in libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-1.c. (Done.) (Hopefully, that's the intention?) > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-4.c > @@ -0,0 +1,29 @@ > +/* { dg-do run } */ Likewise. (Done.) > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-5.c > @@ -0,0 +1,38 @@ > +/* { dg-do run } */ Likewise. (Done.) > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-3.c > @@ -0,0 +1,29 @@ > +/* { dg-do compile } */ Compile tests (checking compiler diagnostics) belong into gcc/testsuite/. (Done.) > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c > @@ -0,0 +1,31 @@ > +/* { dg-do compile } */ Likewise. (Done.) What about the test cases present on gomp-4_0-branch, gcc/testsuite/c-c++-common/goacc/host_data-1.c, gcc/testsuite/c-c++-common/goacc/host_data-2.c, gcc/testsuite/c-c++-common/goacc/host_data-3.c, and gcc/testsuite/c-c++-common/goacc/host_data-4.c, that have not been part of your submission/commit? Also, given the missing handling of OMP_CLAUSE_USE_DEVICE in gcc/cp/pt.c:tsubst_omp_clauses, I assert we don't have any testsuite coverage for C++ templates. Your submission/commit didn't have any execution tests for OpenACC host_data in Fortran. On gomp-4_0-branch, there is libgomp/testsuite/libgomp.oacc-fortran/host_data-1.f90 at least. For the "(Done.)" items, as obvious, committed to trunk in r231184: commit 2a7545d57731de7d4918a8786c972259488dbc56 Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Dec 2 15:53:34 2015 +0000 Some OpenACC host_data cleanup gcc/c/ * c-parser.c (c_parser_omp_clause_name) (c_parser_oacc_all_clauses): Alphabetical sorting. gcc/cp/ * parser.c (cp_parser_omp_clause_name) (cp_parser_oacc_all_clauses): Alphabetical sorting. * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_USE_DEVICE. gcc/testsuite/ * c-c++-common/goacc/host_data-5.c: New file. * c-c++-common/goacc/host_data-6.c: Likewise. * gfortran.dg/goacc/coarray.f95: XFAIL. * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors directive. * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output directive. libgomp/ * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to target openacc_nvidia_accel_selected. * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@231184 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/c/ChangeLog | 5 +++++ gcc/c/c-parser.c | 12 ++++++------ gcc/cp/ChangeLog | 6 ++++++ gcc/cp/parser.c | 20 ++++++++++---------- gcc/cp/pt.c | 2 ++ gcc/testsuite/ChangeLog | 15 +++++++++++++++ .../testsuite/c-c++-common/goacc/host_data-5.c | 6 ------ .../testsuite/c-c++-common/goacc}/host_data-6.c | 6 ------ gcc/testsuite/gfortran.dg/goacc/coarray.f95 | 8 ++++---- gcc/testsuite/gfortran.dg/goacc/coarray_2.f90 | 2 +- gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 | 1 - libgomp/ChangeLog | 9 +++++++++ .../libgomp.oacc-c-c++-common/host_data-2.c | 2 +- .../libgomp.oacc-c-c++-common/host_data-4.c | 2 +- .../libgomp.oacc-c-c++-common/host_data-5.c | 2 +- 15 files changed, 61 insertions(+), 37 deletions(-) diff --git gcc/c/ChangeLog gcc/c/ChangeLog index acb8ee4..e517467 100644 --- gcc/c/ChangeLog +++ gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2015-12-02 Thomas Schwinge <tho...@codesourcery.com> + + * c-parser.c (c_parser_omp_clause_name) + (c_parser_oacc_all_clauses): Alphabetical sorting. + 2015-12-02 Jakub Jelinek <ja...@redhat.com> PR c/68533 diff --git gcc/c/c-parser.c gcc/c/c-parser.c index d4c512f..ee0a305 100644 --- gcc/c/c-parser.c +++ gcc/c/c-parser.c @@ -10277,10 +10277,10 @@ c_parser_omp_clause_name (c_parser *parser) result = PRAGMA_OMP_CLAUSE_UNIFORM; else if (!strcmp ("untied", p)) result = PRAGMA_OMP_CLAUSE_UNTIED; - else if (!strcmp ("use_device_ptr", p)) - result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; else if (!strcmp ("use_device", p)) result = PRAGMA_OACC_CLAUSE_USE_DEVICE; + else if (!strcmp ("use_device_ptr", p)) + result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; break; case 'v': if (!strcmp ("vector", p)) @@ -12951,10 +12951,6 @@ c_parser_oacc_all_clauses (c_parser *parser, omp_clause_mask mask, clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "self"; break; - case PRAGMA_OACC_CLAUSE_USE_DEVICE: - clauses = c_parser_oacc_clause_use_device (parser, clauses); - c_name = "use_device"; - break; case PRAGMA_OACC_CLAUSE_SEQ: clauses = c_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ, clauses); @@ -12964,6 +12960,10 @@ c_parser_oacc_all_clauses (c_parser *parser, omp_clause_mask mask, clauses = c_parser_oacc_clause_tile (parser, clauses); c_name = "tile"; break; + case PRAGMA_OACC_CLAUSE_USE_DEVICE: + clauses = c_parser_oacc_clause_use_device (parser, clauses); + c_name = "use_device"; + break; case PRAGMA_OACC_CLAUSE_VECTOR: c_name = "vector"; clauses = c_parser_oacc_shape_clause (parser, OMP_CLAUSE_VECTOR, diff --git gcc/cp/ChangeLog gcc/cp/ChangeLog index 385ba63..d2a7e99 100644 --- gcc/cp/ChangeLog +++ gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2015-12-02 Thomas Schwinge <tho...@codesourcery.com> + + * parser.c (cp_parser_omp_clause_name) + (cp_parser_oacc_all_clauses): Alphabetical sorting. + * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_USE_DEVICE. + 2015-12-02 Andreas Arnez <ar...@linux.vnet.ibm.com> PR gcov-profile/68603 diff --git gcc/cp/parser.c gcc/cp/parser.c index f78df02..b4ecac7 100644 --- gcc/cp/parser.c +++ gcc/cp/parser.c @@ -29230,10 +29230,10 @@ cp_parser_omp_clause_name (cp_parser *parser) result = PRAGMA_OMP_CLAUSE_UNIFORM; else if (!strcmp ("untied", p)) result = PRAGMA_OMP_CLAUSE_UNTIED; - else if (!strcmp ("use_device_ptr", p)) - result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; else if (!strcmp ("use_device", p)) result = PRAGMA_OACC_CLAUSE_USE_DEVICE; + else if (!strcmp ("use_device_ptr", p)) + result = PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR; break; case 'v': if (!strcmp ("vector", p)) @@ -31600,11 +31600,6 @@ cp_parser_oacc_all_clauses (cp_parser *parser, omp_clause_mask mask, clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "self"; break; - case PRAGMA_OACC_CLAUSE_USE_DEVICE: - clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE, - clauses); - c_name = "use_device"; - break; case PRAGMA_OACC_CLAUSE_SEQ: clauses = cp_parser_oacc_simple_clause (parser, OMP_CLAUSE_SEQ, clauses, here); @@ -31614,6 +31609,11 @@ cp_parser_oacc_all_clauses (cp_parser *parser, omp_clause_mask mask, clauses = cp_parser_oacc_clause_tile (parser, here, clauses); c_name = "tile"; break; + case PRAGMA_OACC_CLAUSE_USE_DEVICE: + clauses = cp_parser_omp_var_list (parser, OMP_CLAUSE_USE_DEVICE, + clauses); + c_name = "use_device"; + break; case PRAGMA_OACC_CLAUSE_VECTOR: c_name = "vector"; clauses = cp_parser_oacc_shape_clause (parser, OMP_CLAUSE_VECTOR, @@ -34516,13 +34516,13 @@ cp_parser_oacc_data (cp_parser *parser, cp_token *pragma_tok) return stmt; } -#define OACC_HOST_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_USE_DEVICE) ) - /* OpenACC 2.0: # pragma acc host_data <clauses> new-line structured-block */ +#define OACC_HOST_DATA_CLAUSE_MASK \ + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_USE_DEVICE) ) + static tree cp_parser_oacc_host_data (cp_parser *parser, cp_token *pragma_tok) { diff --git gcc/cp/pt.c gcc/cp/pt.c index 5befd64..d1d1e4e 100644 --- gcc/cp/pt.c +++ gcc/cp/pt.c @@ -14387,6 +14387,7 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields, case OMP_CLAUSE_FROM: case OMP_CLAUSE_TO: case OMP_CLAUSE_MAP: + case OMP_CLAUSE_USE_DEVICE: case OMP_CLAUSE_USE_DEVICE_PTR: case OMP_CLAUSE_IS_DEVICE_PTR: OMP_CLAUSE_DECL (nc) @@ -14513,6 +14514,7 @@ tsubst_omp_clauses (tree clauses, bool declare_simd, bool allow_fields, case OMP_CLAUSE_COPYPRIVATE: case OMP_CLAUSE_LINEAR: case OMP_CLAUSE_REDUCTION: + case OMP_CLAUSE_USE_DEVICE: case OMP_CLAUSE_USE_DEVICE_PTR: case OMP_CLAUSE_IS_DEVICE_PTR: /* tsubst_expr on SCOPE_REF results in returning diff --git gcc/testsuite/ChangeLog gcc/testsuite/ChangeLog index 5fe26bb..4f7af87 100644 --- gcc/testsuite/ChangeLog +++ gcc/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2015-12-02 Thomas Schwinge <tho...@codesourcery.com> + + * gfortran.dg/goacc/coarray.f95: XFAIL. + * gfortran.dg/goacc/coarray_2.f90: Adjust dg-excess-errors + directive. + * gfortran.dg/goacc/host_data-tree.f95: Remove dg-prune-output + directive. + +2015-12-02 Thomas Schwinge <tho...@codesourcery.com> + Julian Brown <jul...@codesourcery.com> + James Norris <james_nor...@mentor.com> + + * c-c++-common/goacc/host_data-5.c: New file. + * c-c++-common/goacc/host_data-6.c: Likewise. + 2015-12-02 Tom de Vries <t...@codesourcery.com> * c-c++-common/goacc/kernels-default-2.c: New test. diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-3.c gcc/testsuite/c-c++-common/goacc/host_data-5.c similarity index 82% rename from libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-3.c rename to gcc/testsuite/c-c++-common/goacc/host_data-5.c index 7d9b5f7..f372fbd 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-3.c +++ gcc/testsuite/c-c++-common/goacc/host_data-5.c @@ -1,8 +1,5 @@ /* { dg-do compile } */ -#include <openacc.h> -#include <stdlib.h> - #define N 1024 int main (int argc, char* argv[]) @@ -20,9 +17,6 @@ int main (int argc, char* argv[]) xp = x; } } - - if (xp != acc_deviceptr (x)) - abort (); } return 0; diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c gcc/testsuite/c-c++-common/goacc/host_data-6.c similarity index 84% rename from libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c rename to gcc/testsuite/c-c++-common/goacc/host_data-6.c index a841488..8be7912 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-6.c +++ gcc/testsuite/c-c++-common/goacc/host_data-6.c @@ -1,8 +1,5 @@ /* { dg-do compile } */ -#include <openacc.h> -#include <stdlib.h> - #define N 1024 int main (int argc, char* argv[]) @@ -22,9 +19,6 @@ int main (int argc, char* argv[]) xp = x; /* { dg-error "variable 'x' declared in enclosing 'host_data' region" } */ } } - - if (xp != acc_deviceptr (x)) - abort (); } return 0; diff --git gcc/testsuite/gfortran.dg/goacc/coarray.f95 gcc/testsuite/gfortran.dg/goacc/coarray.f95 index 130ffc3..d2f10d5 100644 --- gcc/testsuite/gfortran.dg/goacc/coarray.f95 +++ gcc/testsuite/gfortran.dg/goacc/coarray.f95 @@ -1,7 +1,9 @@ ! { dg-do compile } ! { dg-additional-options "-fcoarray=single" } - -! TODO: These cases must fail +! +! PR fortran/63861 +! { dg-xfail-if "<http://gcc.gnu.org/PR63861>" { *-*-* } } +! { dg-excess-errors "TODO" } module test contains @@ -9,7 +11,6 @@ contains implicit none integer :: i integer, codimension[*] :: a - ! { dg-excess-errors "sorry, unimplemented: directive not yet implemented" } !$acc declare device_resident (a) !$acc data copy (a) !$acc end data @@ -17,7 +18,6 @@ contains !$acc end data !$acc parallel private (a) !$acc end parallel - ! { dg-excess-errors "sorry, unimplemented: directive not yet implemented" } !$acc host_data use_device (a) !$acc end host_data !$acc parallel loop reduction(+:a) diff --git gcc/testsuite/gfortran.dg/goacc/coarray_2.f90 gcc/testsuite/gfortran.dg/goacc/coarray_2.f90 index f9cf9ac..87e04d5 100644 --- gcc/testsuite/gfortran.dg/goacc/coarray_2.f90 +++ gcc/testsuite/gfortran.dg/goacc/coarray_2.f90 @@ -3,6 +3,7 @@ ! ! PR fortran/63861 ! { dg-xfail-if "<http://gcc.gnu.org/PR63861>" { *-*-* } } +! { dg-excess-errors "TODO" } module test contains @@ -106,4 +107,3 @@ contains !$acc update self (a) end subroutine oacc4 end module test -! { dg-excess-errors "sorry, unimplemented: directive not yet implemented" } diff --git gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 index e4c8205..7a5eea6 100644 --- gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 +++ gcc/testsuite/gfortran.dg/goacc/host_data-tree.f95 @@ -8,5 +8,4 @@ program test !$acc host_data use_device(i) !$acc end host_data end program test -! { dg-prune-output "unimplemented" } ! { dg-final { scan-tree-dump-times "pragma acc host_data use_device\\(i\\)" 1 "original" } } diff --git libgomp/ChangeLog libgomp/ChangeLog index ddf836a..cde0b5c 100644 --- libgomp/ChangeLog +++ libgomp/ChangeLog @@ -1,3 +1,12 @@ +2015-12-02 Thomas Schwinge <tho...@codesourcery.com> + + * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to + target openacc_nvidia_accel_selected. + * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise. + * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file. + * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file. + 2015-12-01 Julian Brown <jul...@codesourcery.com> James Norris <james_nor...@mentor.com> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c index 9820286..614f143 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-2.c @@ -1,4 +1,4 @@ -/* { dg-do run } */ +/* { dg-do run { target openacc_nvidia_accel_selected } } */ #include <stdlib.h> #include <openacc.h> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-4.c libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-4.c index 3504f27..0ab5a35 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-4.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-4.c @@ -1,4 +1,4 @@ -/* { dg-do run } */ +/* { dg-do run { target openacc_nvidia_accel_selected } } */ #include <openacc.h> #include <stdlib.h> diff --git libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-5.c libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-5.c index 268e919..a3737a7 100644 --- libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-5.c +++ libgomp/testsuite/libgomp.oacc-c-c++-common/host_data-5.c @@ -1,4 +1,4 @@ -/* { dg-do run } */ +/* { dg-do run { target openacc_nvidia_accel_selected } } */ #include <openacc.h> #include <stdlib.h> Grüße Thomas
signature.asc
Description: PGP signature