This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch, fortran] PR78737 - [OOP] linking error with deferred, undefined user-defined derived-type I/O


Hi Paul,

> We got there! OK for trunk.

thanks. Unfortunately there was a problem with my latest patch, so
what I now committed as r243609 is basically your fixed version of my
draft patch (with some very minor adjustments).

Phew, we finally nailed it!

(My dtio_13 fix had seemed to work at some point, but in the end
apparently it didn't, so I discarded it.)


> This was a demonstration of the corollary of the "bon mot" from Barack
> Obama at the end of the message :-)

:)

Maybe we can even "make gfortran great again" (to paraphrase another
specimen of that category)  ;P


> Many thanks for finding the right path.

Thanks for your help on the way, and of course thanks to Damian for
triggering this whole discussion in the first place.

Cheers,
Janus



> On 13 December 2016 at 10:23, Janus Weil <janus@gcc.gnu.org> wrote:
>> 2016-12-13 10:58 GMT+01:00 Janus Weil <janus@gcc.gnu.org>:
>>> 2016-12-13 10:42 GMT+01:00 Janus Weil <janus@gcc.gnu.org>:
>>>>> please find attached a version of your patch that runs all the dtio
>>>>> testcases successfully.
>>>>
>>>> Great, thanks a lot. Your addition of
>>>> gfc_find_and_cut_at_last_class_ref is just what I was looking for
>>>> right now ...
>>>>
>>>> If you don't mind I'll write a ChangeLog, add the proper tests and
>>>> commit to trunk. Or do you prefer to take care of it yourself?
>>>
>>> Btw, to continue the brainstorming, I think I found a slightly better
>>> solution for the dtio_13 problem, which even removes the spurious
>>> error on that test case via a small fix in resolve_transfer. The
>>> attached patch is what I'd like to commit if you're ok with it.
>>
>> Finally, here is a complete patch, including testcase and ChangeLog
>> entries. Ok for trunk?
>>
>> Cheers,
>> Janus
>>
>>
>> 2016-12-13  Janus Weil  <janus@gcc.gnu.org>
>>         Paul Thomas  <pault@gcc.gnu.org>
>>
>>     PR fortran/78737
>>     * gfortran.h (gfc_find_typebound_dtio_proc): New prototype.
>>     * interface.c (gfc_compare_interfaces): Whitespace fix.
>>     (gfc_find_typebound_dtio_proc): New function.
>>     (gfc_find_specific_dtio_proc): Use it.
>>     * resolve.c (resolve_transfer): Improve error recovery.
>>     * trans-io.c (get_dtio_proc): Implement polymorphic calls to DTIO
>>     procedures.
>>
>> 2016-12-13  Janus Weil  <janus@gcc.gnu.org>
>>         Paul Thomas  <pault@gcc.gnu.org>
>>
>>     PR fortran/78737
>>     * gfortran.dg/dtio_13.f90: Remove spurious error.
>>     * gfortran.dg/dtio_19.f90: New test case.
>
>
>
> --
> If you're walking down the right path and you're willing to keep
> walking, eventually you'll make progress.
>
> Barack Obama


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]