This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [OpenACC 0/7] host_data construct
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Cesar Philippidis <cesar at codesourcery dot com>
- Cc: Thomas Schwinge <thomas at codesourcery dot com>, Julian Brown <julian at codesourcery dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, James Norris <jnorris at codesourcery dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, Nathan Sidwell <Nathan_Sidwell at mentor dot com>, Fortran List <fortran at gcc dot gnu dot org>
- Date: Wed, 2 Dec 2015 20:35:02 +0100
- Subject: Re: [OpenACC 0/7] host_data construct
- Authentication-results: sourceware.org; auth=none
- References: <20151026183422 dot GW478 at tucnak dot redhat dot com> <20151102183339 dot 365c3d33 at octopus> <20151112111621 dot 657650bc at octopus> <20151118124747 dot 30a2ec5d at octopus> <20151119131345 dot GX5675 at tucnak dot redhat dot com> <20151119142650 dot 5a8842e4 at octopus> <20151119155723 dot GA5675 at tucnak dot redhat dot com> <20151130193034 dot 71143aa4 at octopus> <877fkwn8p6 dot fsf at kepler dot schwinge dot homeip dot net> <565F437A dot 6090103 at codesourcery dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Dec 02, 2015 at 11:16:10AM -0800, Cesar Philippidis wrote:
> > --- 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" }
>
> This host_data patch exposed a bug in the fortran front end where it was
> allowing arrays to be used as reduction variables. If replace you
> replace codimension with dimension, you'd see a similar ICE. The
> attached patch, while it doesn't make any attempt to fix the gimplifier
> changes, does teach the fortran front end to error on acc reductions
> containing array variables.
Does the OpenACC standard disallow array reductions?
Just asking, because OpenMP allows them (up to 4.0 only in Fortran,
in 4.5 also C/C++ array sections are allowed).
If the OpenACC standard disallows them, then it is desirable to reject them
and the patch is ok, otherwise you should try harder to support them ;).
Jakub