2017-10-21 Paul Thomas <pault@gcc.gnu.org>
commit1148eb54e7602dfce6b03e34658f6c1814148cd5
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 21 Oct 2017 09:02:17 +0000 (21 09:02 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 21 Oct 2017 09:02:17 +0000 (21 09:02 +0000)
tree63f51314f4655c12f86d5ba76dd5853289bad244
parent8bcdb05bc7dcd6178d15dbdae3ac6192302e2926
2017-10-21  Paul Thomas  <pault@gcc.gnu.org>

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-21  Paul Thomas  <pault@gcc.gnu.org>

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253970 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/decl.c
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pdt_16.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pdt_17.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pdt_18.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pdt_4.f03
gcc/testsuite/gfortran.dg/pdt_8.f03