Commit 477f145b by Janus Weil

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
parent a5f15ed9
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-19 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80333
......
......@@ -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;
}
}
......
2017-05-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/80766
* gfortran.dg/typebound_call_28.f90: New test.
2017-05-22 Nathan Sidwell <nathan@acm.org>
* g++.dg/lookup/strong-using.C: New.
......
! { dg-do compile }
!
! PR 80766: [7/8 Regression] [OOP] ICE with type-bound procedure returning an array
!
! Contributed by Vladimir Fuka <vladimir.fuka@gmail.com>
module m1
type :: base
contains
procedure :: fun
end type
type, extends(base) :: child
end type
contains
function fun(o) result(res)
real :: res(3)
class(base) :: o
res = 0
end function
end module
module m2
contains
subroutine sub(o)
use m1
class(child) :: o
real :: res(3)
res = o%fun()
end subroutine
end module
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment