This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gomp4] add support for fortran allocate support with declare create
- From: Thomas Schwinge <thomas at codesourcery dot com>
- To: Cesar Philippidis <cesar at codesourcery dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Fortran List <fortran at gcc dot gnu dot org>, Chung-Lin Tang <cltang at codesourcery dot com>
- Date: Thu, 6 Apr 2017 11:05:04 +0200
- Subject: Re: [gomp4] add support for fortran allocate support with declare create
- Authentication-results: sourceware.org; auth=none
- References: <86f51209-c59d-a4cf-297d-9a072823aa61@codesourcery.com>
Hi Cesar!
On Wed, 5 Apr 2017 08:23:58 -0700, Cesar Philippidis <cesar@codesourcery.com> wrote:
> This patch implements the OpenACC 2.5 behavior of fortran allocate on
> variables marked with declare create as defined in Section 2.13.2 in the
> OpenACC spec.
Thanks!
> While working on adding support for allocate, I noticed that OpenACC
> declare has a number of quirks. For starters, the fortran FE wasn't
> lowering them properly, so there was no way for omplower to utilize them
> inside acc parallel regions.
> There is still some unimplemented functionality.
> [...]
File (at least some of these?) as separate issues, I guess?
> I've applied this patch to gomp-4_0-branch.
Not reviewed, but I noticed:
> --- /dev/null
> +++ b/gcc/testsuite/gfortran.dg/goacc/declare-allocatable-1.f90
> @@ -0,0 +1,25 @@
> +! Verify that OpenACC declared allocatable arrays have implicit
> +! OpenACC enter and exit pragmas at the time of allocation and
> +! deallocation.
> +
> +! { dg-additional-options "-fdump-tree-original" }
> +[...]
> +! { dg-final { scan-tree-dump-times "pragma acc enter data map.declare_allocate" 1 "gimple" } }
> +! { dg-final { scan-tree-dump-times "pragma acc exit data map.declare_deallocate" 1 "gimple" } }
UNRESOLVED: gfortran.dg/goacc/declare-allocatable-1.f90 -O scan-tree-dump-times gimple "pragma acc enter data map.declare_allocate" 1
UNRESOLVED: gfortran.dg/goacc/declare-allocatable-1.f90 -O scan-tree-dump-times gimple "pragma acc exit data map.declare_deallocate" 1
PASS: gfortran.dg/goacc/declare-allocatable-1.f90 -O (test for excess errors)
"original" vs. "gimple" -- which one should it be?
Grüße
Thomas