Dear Janus, We got there! OK for trunk.
This was a demonstration of the corollary of the "bon mot" from Barack Obama at the end of the message :-) Many thanks for finding the right path. Paul On 13 December 2016 at 10:23, Janus Weil <ja...@gcc.gnu.org> wrote: > 2016-12-13 10:58 GMT+01:00 Janus Weil <ja...@gcc.gnu.org>: >> 2016-12-13 10:42 GMT+01:00 Janus Weil <ja...@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 <ja...@gcc.gnu.org> > Paul Thomas <pa...@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 <ja...@gcc.gnu.org> > Paul Thomas <pa...@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