This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, Fortran] Support allocatable *scalar* coarrays
- From: Mikael Morin <mikael dot morin at sfr dot fr>
- To: fortran at gcc dot gnu dot org
- Cc: Tobias Burnus <burnus at net-b dot de>, gcc patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 16 Jul 2011 14:59:26 +0200
- Subject: Re: [Patch, Fortran] Support allocatable *scalar* coarrays
- References: <4E1A03E8.firstname.lastname@example.org> <4E1AAB00.email@example.com>
On Monday 11 July 2011 09:49:20 Tobias Burnus wrote:
> On 07/10/2011 09:56 PM, Tobias Burnus wrote:
> > This patch implemented the trans*.c part of allocatable scalar
> > coarrays; contrary to noncoarray allocatable scalars, they have
> > cobounds and thus use an array descriptor.
> I found a test case (part of Reinhold Bader's fortran_tests), which gave
> an ICE: Allocatable scalar coarrays with SAVE.
> I have fixed that (trans-decl.c) and added a test.
> > The attached patch was build and regtested on x86-64-linux.
> > OK for the trunk?
let me understand one thing about coarray scalars: despite their name, they
are arrays, right?
Then when you do in gfc_conv_array_ref:
+ if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (se->expr)))
+ se->expr = build_fold_indirect_ref (gfc_conv_array_data (se->expr));
you are returning scalar instead of scalar (== scalar[this_image()]) or
scalar[whatever_image_selector], aren't you?
Sorry for the delay; it seems that the more it goes, the more you are the only
one who can maintain coarray stuff. :-(