re PR fortran/68196 (ICE on function result with procedure pointer component)
authorPaul Thomas <pault@gcc.gnu.org>
Sun, 8 Nov 2015 16:47:58 +0000 (16:47 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sun, 8 Nov 2015 16:47:58 +0000 (16:47 +0000)
commit57905c2bb3dc00409591f58a8e335cd16c2940ff
tree7720d688995fe86e6ff242df8dbbe7f19bf73554
parent210172f47dac16f21001d617e9175c563f2fdfd1
re PR fortran/68196 (ICE on function result with procedure pointer component)

2015-11-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68196
* class.c (has_finalizer_component): Prevent infinite recursion
through this function if the derived type and that of its
component are the same.
* trans-types.c (gfc_get_derived_type): Do the same for proc
pointers by ignoring the explicit interface for the component.

PR fortran/66465
* check.c (same_type_check): If either of the expressions is
BT_PROCEDURE, use the typespec from the symbol, rather than the
expression.

2015-11-08  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/68196
* gfortran.dg/proc_ptr_47.f90: New test.

PR fortran/66465
* gfortran.dg/pr66465.f90: New test.

From-SVN: r229954
gcc/fortran/ChangeLog
gcc/fortran/check.c
gcc/fortran/class.c
gcc/fortran/trans-types.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr66465.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/proc_ptr_47.f90 [new file with mode: 0644]