Commit 7c9b8fb9 by Janus Weil

re PR fortran/44213 (ICE when extending abstract type)

2010-05-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44213
	* resolve.c (ensure_not_abstract): Allow abstract types with
	non-abstract ancestors.


2010-05-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44213
	* gfortran.dg/abstract_type_7.f03: New.

From-SVN: r159695
parent 277e2873
2010-05-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/44213
* resolve.c (ensure_not_abstract): Allow abstract types with
non-abstract ancestors.
2010-05-21 Steven Bosscher <steven@gcc.gnu.org>
* trans-const.c: Include realmpfr.h.
......
......@@ -10541,7 +10541,10 @@ ensure_not_abstract (gfc_symbol* sub, gfc_symbol* ancestor)
This is not the most efficient way to do this, but it should be ok and is
clearer than something sophisticated. */
gcc_assert (ancestor && ancestor->attr.abstract && !sub->attr.abstract);
gcc_assert (ancestor && !sub->attr.abstract);
if (!ancestor->attr.abstract)
return SUCCESS;
/* Walk bindings of this ancestor. */
if (ancestor->f2k_derived)
......
2010-05-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/44213
* gfortran.dg/abstract_type_7.f03: New.
2010-05-21 Jason Merrill <jason@redhat.com>
* g++.dg/eh/spec11.C: Test cleanup optimization.
......
! { dg-do compile }
!
! PR 44213: ICE when extending abstract type
!
! Contributed by Hans-Werner Boschmann <boschmann@tp1.physik.uni-siegen.de>
module ice_module
type :: a_type
end type a_type
type,extends(a_type),abstract :: b_type
end type b_type
type,extends(b_type) :: c_type
end type c_type
end module ice_module
! { dg-final { cleanup-modules "ice_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