Re: [Patch, fortran] PR91926 - assumed rank optional

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR91926 - assumed rank optional

Christophe Lyon-2
Hi,


On Sat, 5 Oct 2019 at 20:31, Paul Richard Thomas <
[hidden email]> wrote:

> I must apologise not posting this before committing. I left for a
> vacation this morning and I thought that this problem and the one
> posted by Gilles were best fixed before departing. The patch only
> touches the new ISO_Fortran binding feature and so I thought that I
> would be safe to do this.
>
> It was fully regtested and only applies to trunk.
>
> Paul
>
> Author: pault
> Date: Sat Oct  5 08:17:55 2019
> New Revision: 276624
>
> URL: https://gcc.gnu.org/viewcvs?rev=276624&root=gcc&view=rev
> Log:
> 2019-10-05  Paul Thomas  <[hidden email]>
>
>         PR fortran/91926
>         * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the
>         assignment of the attribute field to account correctly for an
>         assumed shape dummy. Assign separately to the gfc and cfi
>         descriptors since the atribute can be different. Add btanch to
>         correctly handle missing optional dummies.
>
> 2019-10-05  Paul Thomas  <[hidden email]>
>
>         PR fortran/91926
>         * gfortran.dg/ISO_Fortran_binding_13.f90 : New test.
>         * gfortran.dg/ISO_Fortran_binding_13.c : Additional source.
>         * gfortran.dg/ISO_Fortran_binding_14.f90 : New test.
>
> 2019-10-05  Paul Thomas  <[hidden email]>
>
>         PR fortran/91926
>         * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
>         modify the bounds and offset for CFI_other.
>
> Added:
>     trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.c
>     trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.f90
>     trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_14.f90
> Modified:
>     trunk/gcc/fortran/ChangeLog
>     trunk/gcc/fortran/trans-expr.c
>     trunk/gcc/testsuite/ChangeLog
>     trunk/libgfortran/ChangeLog
>     trunk/libgfortran/runtime/ISO_Fortran_binding.c
>


Since this was committed (r276624), I have noticed regressions on
arm-linux-gnueabihf:
FAIL: gfortran.dg/ISO_Fortran_binding_11.f90   -O3 -g  execution test
I've seen other reports on gcc-testresults too.

Christophe
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR91926 - assumed rank optional

Tobias Burnus-3
See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92027
for a tracking bug – I just added also some analysis.

Tobias

PS: A better patch submission, with the actual patch attached, would
have been nice. Please re-post the committed patch – and the new patch,
which fixes the fall out. – Thanks!

On 10/9/19 12:26 PM, Paul Richard Thomas wrote:

> Hi Christophe,
>
> Thanks for flagging this up - I am back at base on Saturday and will
> take it up then.
>
> Regards
>
> Paul
>
> On Wed, 9 Oct 2019 at 11:13, Christophe Lyon <[hidden email]> wrote:
>> Hi,
>>
>>
>> On Sat, 5 Oct 2019 at 20:31, Paul Richard Thomas <[hidden email]> wrote:
>>> I must apologise not posting this before committing. I left for a
>>> vacation this morning and I thought that this problem and the one
>>> posted by Gilles were best fixed before departing. The patch only
>>> touches the new ISO_Fortran binding feature and so I thought that I
>>> would be safe to do this.
>>>
>>> It was fully regtested and only applies to trunk.
>>>
>>> Paul
>>>
>>> Author: pault
>>> Date: Sat Oct  5 08:17:55 2019
>>> New Revision: 276624
>>>
>>> URL: https://gcc.gnu.org/viewcvs?rev=276624&root=gcc&view=rev
>>> Log:
>>> 2019-10-05  Paul Thomas  <[hidden email]>
>>>
>>>          PR fortran/91926
>>>          * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the
>>>          assignment of the attribute field to account correctly for an
>>>          assumed shape dummy. Assign separately to the gfc and cfi
>>>          descriptors since the atribute can be different. Add btanch to
>>>          correctly handle missing optional dummies.
>>>
>>> 2019-10-05  Paul Thomas  <[hidden email]>
>>>
>>>          PR fortran/91926
>>>          * gfortran.dg/ISO_Fortran_binding_13.f90 : New test.
>>>          * gfortran.dg/ISO_Fortran_binding_13.c : Additional source.
>>>          * gfortran.dg/ISO_Fortran_binding_14.f90 : New test.
>>>
>>> 2019-10-05  Paul Thomas  <[hidden email]>
>>>
>>>          PR fortran/91926
>>>          * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
>>>          modify the bounds and offset for CFI_other.
>>>
>>> Added:
>>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.c
>>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.f90
>>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_14.f90
>>> Modified:
>>>      trunk/gcc/fortran/ChangeLog
>>>      trunk/gcc/fortran/trans-expr.c
>>>      trunk/gcc/testsuite/ChangeLog
>>>      trunk/libgfortran/ChangeLog
>>>      trunk/libgfortran/runtime/ISO_Fortran_binding.c
>>
>>
>> Since this was committed (r276624), I have noticed regressions on arm-linux-gnueabihf:
>> FAIL: gfortran.dg/ISO_Fortran_binding_11.f90   -O3 -g  execution test
>> I've seen other reports on gcc-testresults too.
>>
>> Christophe
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR91926 - assumed rank optional

Paul Richard Thomas
Tobias,

You are quite right to take me to task. As I wrote in the original
message to the list, I was trying to respond rapidly before stepping
out of the door on vacation. The original patch is attached. The fix
to this problem is to revert that part in
libgfortran/runtime/ISO_Fortran_binding.c. As you implicitly surmised,
I was assuming that 'd' would be initialised in the caller. I cannot
see why this should be the case but sometimes the optimizer seems to
cut away a bit too much code :-(

I have done the reversion in r277204 after regtesting, of course.

I am retesting an update to 9-branch, as requested. I will submit to
the list tomorrow.

Cheers

Paul

2019-10-19  Paul Thomas  <[hidden email]>

    PR fortran/91926
    * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Revert
    the change made on 2019-10-05.



On Thu, 17 Oct 2019 at 14:39, Tobias Burnus <[hidden email]> wrote:

>
> See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92027
> for a tracking bug – I just added also some analysis.
>
> Tobias
>
> PS: A better patch submission, with the actual patch attached, would
> have been nice. Please re-post the committed patch – and the new patch,
> which fixes the fall out. – Thanks!
>
> On 10/9/19 12:26 PM, Paul Richard Thomas wrote:
> > Hi Christophe,
> >
> > Thanks for flagging this up - I am back at base on Saturday and will
> > take it up then.
> >
> > Regards
> >
> > Paul
> >
> > On Wed, 9 Oct 2019 at 11:13, Christophe Lyon <[hidden email]> wrote:
> >> Hi,
> >>
> >>
> >> On Sat, 5 Oct 2019 at 20:31, Paul Richard Thomas <[hidden email]> wrote:
> >>> I must apologise not posting this before committing. I left for a
> >>> vacation this morning and I thought that this problem and the one
> >>> posted by Gilles were best fixed before departing. The patch only
> >>> touches the new ISO_Fortran binding feature and so I thought that I
> >>> would be safe to do this.
> >>>
> >>> It was fully regtested and only applies to trunk.
> >>>
> >>> Paul
> >>>
> >>> Author: pault
> >>> Date: Sat Oct  5 08:17:55 2019
> >>> New Revision: 276624
> >>>
> >>> URL: https://gcc.gnu.org/viewcvs?rev=276624&root=gcc&view=rev
> >>> Log:
> >>> 2019-10-05  Paul Thomas  <[hidden email]>
> >>>
> >>>          PR fortran/91926
> >>>          * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the
> >>>          assignment of the attribute field to account correctly for an
> >>>          assumed shape dummy. Assign separately to the gfc and cfi
> >>>          descriptors since the atribute can be different. Add btanch to
> >>>          correctly handle missing optional dummies.
> >>>
> >>> 2019-10-05  Paul Thomas  <[hidden email]>
> >>>
> >>>          PR fortran/91926
> >>>          * gfortran.dg/ISO_Fortran_binding_13.f90 : New test.
> >>>          * gfortran.dg/ISO_Fortran_binding_13.c : Additional source.
> >>>          * gfortran.dg/ISO_Fortran_binding_14.f90 : New test.
> >>>
> >>> 2019-10-05  Paul Thomas  <[hidden email]>
> >>>
> >>>          PR fortran/91926
> >>>          * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not
> >>>          modify the bounds and offset for CFI_other.
> >>>
> >>> Added:
> >>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.c
> >>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_13.f90
> >>>      trunk/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_14.f90
> >>> Modified:
> >>>      trunk/gcc/fortran/ChangeLog
> >>>      trunk/gcc/fortran/trans-expr.c
> >>>      trunk/gcc/testsuite/ChangeLog
> >>>      trunk/libgfortran/ChangeLog
> >>>      trunk/libgfortran/runtime/ISO_Fortran_binding.c
> >>
> >>
> >> Since this was committed (r276624), I have noticed regressions on arm-linux-gnueabihf:
> >> FAIL: gfortran.dg/ISO_Fortran_binding_11.f90   -O3 -g  execution test
> >> I've seen other reports on gcc-testresults too.
> >>
> >> Christophe
> >>
> >


--
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein

submit.diff (10K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR91926 - assumed rank optional

Tobias Burnus-3
In reply to this post by Christophe Lyon-2
On 10/21/19 7:28 PM, Paul Richard Thomas wrote:
> Please find attached a patch to keep 9-branch up to speed with trunk
> as far as the ISO_Fortran_binding feature is concerned.
>
> It bootstraps and regtests on 9-branch and incorporates the correction
> for PR92027, which caused problems for trunk on certain platforms.
>
> OK to commit?


OK. Thanks for the patch.

Tobias


> 2019-10-21  Paul Thomas<[hidden email]>
>
>      Backport from trunk
>      PR fortran/91926
>      * trans-expr.c (gfc_conv_gfc_desc_to_cfi_desc): Correct the
>      assignment of the attribute field to account correctly for an
>      assumed shape dummy. Assign separately to the gfc and cfi
>      descriptors since the atribute can be different. Add branch to
>      correctly handle missing optional dummies.
>
> 2019-10-21  Paul Thomas<[hidden email]>
>
>      Backport from trunk
>      PR fortran/91926
>      * gfortran.dg/ISO_Fortran_binding_13.f90 : New test.
>      * gfortran.dg/ISO_Fortran_binding_13.c : Additional source.
>      * gfortran.dg/ISO_Fortran_binding_14.f90 : New test.