aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2017-05-22 19:08:24 +0200
committerJanus Weil <janus@gcc.gnu.org>2017-05-22 19:08:24 +0200
commit477f145b5798e5a8f0766aaa1f0fb0ca2dcd9abd (patch)
tree885eb54988d65815f23359f5ceecb73d08e281ed /gcc/fortran/resolve.c
parenta5f15ed90a9e5dac66aca6a10087ac5169e6d5c6 (diff)
downloadgcc-477f145b5798e5a8f0766aaa1f0fb0ca2dcd9abd.zip
gcc-477f145b5798e5a8f0766aaa1f0fb0ca2dcd9abd.tar.gz
gcc-477f145b5798e5a8f0766aaa1f0fb0ca2dcd9abd.tar.bz2
re PR fortran/80766 ([OOP] ICE with type-bound procedure returning an array)
2017-05-22 Janus Weil <janus@gcc.gnu.org> PR fortran/80766 * resolve.c (resolve_fl_derived): Make sure that vtype symbols are properly resolved. 2017-05-22 Janus Weil <janus@gcc.gnu.org> PR fortran/80766 * gfortran.dg/typebound_call_28.f90: New test. From-SVN: r248341
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index d50ffdb..a5f4874 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -13832,6 +13832,8 @@ resolve_fl_derived (gfc_symbol *sym)
gfc_symbol *vtab = gfc_find_derived_vtab (data->ts.u.derived);
gcc_assert (vtab);
vptr->ts.u.derived = vtab->ts.u.derived;
+ if (!resolve_fl_derived0 (vptr->ts.u.derived))
+ return false;
}
}