[Fortran, PATCH, coarray, v1] Extend caf_*_by_ref () API by a type specifier
Andre Vehreschild
vehre@gmx.de
Mon Feb 19 17:32:00 GMT 2018
Hi all,
no objections received therefore committed as r257813. Thanks for fast review
Jerry.
- Andre
On Sun, 18 Feb 2018 18:33:07 +0100
Andre Vehreschild <vehre@gmx.de> wrote:
> Well, after discussing on IRC whether RM should be bothered, I was asked to
> simplify release managers lives and propose, that if no one objects within one
> day, I will merge the patch. So any objections?
>
> - Andre
>
> On Sun, 18 Feb 2018 18:07:28 +0100
> Andre Vehreschild <vehre@gmx.de> wrote:
>
> > Dear release managers,
> >
> > this patch (for reference
> > https://gcc.gnu.org/ml/fortran/2018-02/msg00124.html) fixes a regression in
> > the coarray api by extending three relatively new functions with one or two
> > arguments, respectively. The patch has been approved by gfortran devs.
> > Asking your approval to merge it: Ok to merge to trunk?
> >
> > Regards,
> > Andre
> >
> > On Sun, 18 Feb 2018 08:53:41 -0800
> > Jerry DeLisle <jvdelisle@charter.net> wrote:
> >
> > > On 02/18/2018 07:39 AM, Andre Vehreschild wrote:
> > > > Hi all,
> > > >
> > > > attached patch fixes an issue with the coarray API. When a component of
> > > > a derived type coarray was referenced using a caf_*_by_ref () function
> > > > and that component was not an array with a descriptor, then the type of
> > > > the component was not known. Which additionally meant, that type
> > > > conversion was not applied as required. This patch fixes that issue by
> > > > adding type specifiers to the three caf_*_by_ref-calls and implements
> > > > the functionality for libcaf_single. This is harmless because other
> > > > coarray libraries that do not expect this argument just ignore it.
> > > > Additionally does this patch also provide the first working version of
> > > > caf_sendget_by_ref in libcaf_single, which previously only lead to a
> > > > stack corruption and was not usable since the array descriptor rework
> > > > (nice job, btw).
> > > >
> > > > I would like to have this patch in trunk knowing that I am somewhat
> > > > late, but it would be quite necessary, because as it is now, the
> > > > coarray feature for derived types is hardly usable. Furthermore do some
> > > > people name this a regression, because the caf_*_by_ref are also used
> > > > when the lhs of a caf_get_by_ref() is allocatable which now does not
> > > > work as expected anymore but before gcc-6 using caf_get() (w/o
> > > > reallocation) did.
> > > >
> > > > Bootstrapped and regtested ok on x86_64-linux/f27. Ok for trunk?
> > > >
> > > > - Andre
> > > >
> > >
> > > This is OK from the Fortranners perspective. Should touch base with
> > > release manager. It looks harmless though it changes coarray API, which
> > > is hidden behind -fcoarray=
> > >
> > > Regards,
> > >
> > > Jerry
> >
> >
>
>
--
Andre Vehreschild * Email: vehre ad gmx dot de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit.diff
Type: text/x-patch
Size: 35268 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20180219/00cf0c0c/attachment.bin>
More information about the Fortran
mailing list