Dear All, In the last hour, I have added fixes for PRs 82587 and 82589. Please review them together with 82586. I will stop work on Gerhard's PDT bugs until this patch is committed. Fortunately, Steve Kargl has proposed fixes for most of them :-) Cheers Paul 2017-10-20 Paul Thomas PR fortran/82586 * decl.c (gfc_get_pdt_instance): Remove the error message that the parameter does not have a corresponding component since this is now taken care of when the derived type is resolved. Go straight to error return instead. (gfc_match_formal_arglist): Make the PDT relevant errors immediate so that parsing of the derived type can continue. (gfc_match_derived_decl): Do not check the match status on return from gfc_match_formal_arglist for the same reason. * resolve.c (resolve_fl_derived0): Check that each type parameter has a corresponding component. PR fortran/82587 * resolve.c (resolve_generic_f): Check that the derived type can be used before resolving the struture constructor. PR fortran/82589 * symbol.c (check_conflict): Add the conflicts involving PDT KIND and LEN attributes. 2017-10-20 Paul Thomas PR fortran/82586 * gfortran.dg/pdt_16.f03 : New test. * gfortran.dg/pdt_4.f03 : Catch the changed messages. * gfortran.dg/pdt_8.f03 : Ditto. PR fortran/82587 * gfortran.dg/pdt_17.f03 : New test. PR fortran/82589 * gfortran.dg/pdt_18.f03 : New test. On 20 October 2017 at 18:17, Paul Richard Thomas wrote: > Dear All, > > The attached patch is pretty clear with the ChangeLogs and is very > nearly obvious. > > Bootstrapped and regtested on FC23/x86_64 - OK for trunk? > > Paul > > 2017-10-20 Paul Thomas > > PR fortran/82586 > * decl.c (gfc_get_pdt_instance): Remove the error message that > the parameter does not have a corresponding component since > this is now taken care of when the derived type is resolved. Go > straight to error return instead. > (gfc_match_formal_arglist): Make the PDT relevant errors > immediate so that parsing of the derived type can continue. > (gfc_match_derived_decl): Do not check the match status on > return from gfc_match_formal_arglist for the same reason. > * resolve.c (resolve_fl_derived0): Check that each type > parameter has a corresponding component. > > 2017-10-20 Paul Thomas > > PR fortran/82586 > * gfortran.dg/pdt_16.f03 : New test. > * gfortran.dg/pdt_4.f03 : Catch the changed messages. > * gfortran.dg/pdt_8.f03 : Ditto. > > > -- > "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