[Patch, fortran] PR66679 - [OOP] ICE with class(*) and transfer

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

[Patch, fortran] PR66679 - [OOP] ICE with class(*) and transfer

Paul Richard Thomas
The comment in the patch says it all.

Bootstrapped and regtested on FC28/x86_64 - OK for trunk?

Paul

2018-07-05  Paul Thomas  <[hidden email]>

    PR fortran/66679
    * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
    elements are returned as references to the data element. Get
    the class expression by stripping back the references. Use this
    for the element size.

2018-07-05  Paul Thomas  <[hidden email]>

    PR fortran/66679
    * gfortran.dg/transfer_class_3.f90: New test.

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

Re: [Patch, fortran] PR66679 - [OOP] ICE with class(*) and transfer

Paul Richard Thomas
Ping!
On Thu, 5 Jul 2018 at 08:51, Paul Richard Thomas
<[hidden email]> wrote:

>
> The comment in the patch says it all.
>
> Bootstrapped and regtested on FC28/x86_64 - OK for trunk?
>
> Paul
>
> 2018-07-05  Paul Thomas  <[hidden email]>
>
>     PR fortran/66679
>     * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
>     elements are returned as references to the data element. Get
>     the class expression by stripping back the references. Use this
>     for the element size.
>
> 2018-07-05  Paul Thomas  <[hidden email]>
>
>     PR fortran/66679
>     * gfortran.dg/transfer_class_3.f90: New test.



--
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR66679 - [OOP] ICE with class(*) and transfer

Janus Weil-3
Hi Paul,

2018-07-23 17:51 GMT+02:00 Paul Richard Thomas <[hidden email]>:
> Ping!
> On Thu, 5 Jul 2018 at 08:51, Paul Richard Thomas
> <[hidden email]> wrote:
>>
>> The comment in the patch says it all.
>>
>> Bootstrapped and regtested on FC28/x86_64 - OK for trunk?

I don't see anything wrong with the patch, so as far as I'm concerned
it's ok for trunk.

Just one minor style-wise suggestion: I'd move the declaration of the
'class_expr' into the else branch where it's used (in order to have it
as locally as possible).

Thanks for the patch,
Janus



>> 2018-07-05  Paul Thomas  <[hidden email]>
>>
>>     PR fortran/66679
>>     * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
>>     elements are returned as references to the data element. Get
>>     the class expression by stripping back the references. Use this
>>     for the element size.
>>
>> 2018-07-05  Paul Thomas  <[hidden email]>
>>
>>     PR fortran/66679
>>     * gfortran.dg/transfer_class_3.f90: New test.
>
>
>
> --
> "If you can't explain it simply, you don't understand it well enough"
> - Albert Einstein
Reply | Threaded
Open this post in threaded view
|

Re: [Patch, fortran] PR66679 - [OOP] ICE with class(*) and transfer

Paul Richard Thomas
Hi Janus,

Thanks for that. I will commit this evening.

I put the declaration at function scope because I was anticipating
having to use it elsewhere :-) I will make the change that you
propose.

Cheers

Paul

On Mon, 23 Jul 2018 at 21:20, Janus Weil <[hidden email]> wrote:

>
> Hi Paul,
>
> 2018-07-23 17:51 GMT+02:00 Paul Richard Thomas <[hidden email]>:
> > Ping!
> > On Thu, 5 Jul 2018 at 08:51, Paul Richard Thomas
> > <[hidden email]> wrote:
> >>
> >> The comment in the patch says it all.
> >>
> >> Bootstrapped and regtested on FC28/x86_64 - OK for trunk?
>
> I don't see anything wrong with the patch, so as far as I'm concerned
> it's ok for trunk.
>
> Just one minor style-wise suggestion: I'd move the declaration of the
> 'class_expr' into the else branch where it's used (in order to have it
> as locally as possible).
>
> Thanks for the patch,
> Janus
>
>
>
> >> 2018-07-05  Paul Thomas  <[hidden email]>
> >>
> >>     PR fortran/66679
> >>     * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
> >>     elements are returned as references to the data element. Get
> >>     the class expression by stripping back the references. Use this
> >>     for the element size.
> >>
> >> 2018-07-05  Paul Thomas  <[hidden email]>
> >>
> >>     PR fortran/66679
> >>     * gfortran.dg/transfer_class_3.f90: New test.
> >
> >
> >
> > --
> > "If you can't explain it simply, you don't understand it well enough"
> > - Albert Einstein



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