re PR fortran/82586 ([PDT] ICE: write_symbol(): bad module symbol)
authorPaul Thomas <pault@gcc.gnu.org>
Sat, 21 Oct 2017 09:02:17 +0000 (09:02 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sat, 21 Oct 2017 09:02:17 +0000 (09:02 +0000)
commitde624beeae1b049b6bd834b28980e6ce9891d45d
tree63f51314f4655c12f86d5ba76dd5853289bad244
parentaa93ca090e54442af1f2494ae6f6b07bd3c65630
re PR fortran/82586 ([PDT] ICE: write_symbol(): bad module symbol)

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.

From-SVN: r253970
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