diff options
author | Janus Weil <janus@gcc.gnu.org> | 2010-07-13 08:57:17 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2010-07-13 08:57:17 +0200 |
commit | 88ce80316fbb4d001f08eb4c65dbb7ae88e0474f (patch) | |
tree | 7689fad89ebad1266a4bfa1f56e3f71d86faafdf /gcc/fortran/iresolve.c | |
parent | b1743e3754feb057b0019d46b1aadbd571afe657 (diff) | |
download | gcc-88ce80316fbb4d001f08eb4c65dbb7ae88e0474f.zip gcc-88ce80316fbb4d001f08eb4c65dbb7ae88e0474f.tar.gz gcc-88ce80316fbb4d001f08eb4c65dbb7ae88e0474f.tar.bz2 |
re PR fortran/44434 ([OOP] ICE in in gfc_add_component_ref)
2010-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.h (gfc_find_derived_vtab): Modified prototype.
* class.c (gfc_build_class_symbol): Modified call to
'gfc_find_derived_vtab'.
(add_proc_component): Removed, moved code into 'add_proc_comp'.
(add_proc_comps): Renamed to 'add_proc_comp', removed treatment of
generics.
(add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
(copy_vtab_proc_comps): Removed unnecessary argument 'resolved'.
Call 'add_proc_comp' instead of duplicating code.
(add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved'
and 'declared'.
(add_generic_specifics,add_generics_to_declared_vtab): Removed.
(gfc_find_derived_vtab): Removed unnecessary argument 'resolved'.
Removed treatment of generics.
* iresolve.c (gfc_resolve_extends_type_of): Modified call to
'gfc_find_derived_vtab'.
* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
Removed treatment of generics.
(resolve_select_type,resolve_fl_derived): Modified call to
'gfc_find_derived_vtab'.
* trans-decl.c (gfc_get_symbol_decl): Ditto.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.
2010-07-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/44434
PR fortran/44565
PR fortran/43945
PR fortran/44869
* gfortran.dg/dynamic_dispatch_1.f03: Fixed invalid test case.
* gfortran.dg/dynamic_dispatch_2.f03: Ditto.
* gfortran.dg/dynamic_dispatch_3.f03: Ditto.
* gfortran.dh/typebound_call_16.f03: New.
* gfortran.dg/typebound_generic_6.f03: New.
* gfortran.dg/typebound_generic_7.f03: New.
* gfortran.dg/typebound_generic_8.f03: New.
From-SVN: r162125
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r-- | gcc/fortran/iresolve.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index c09ae97..9bf767d 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -854,7 +854,7 @@ gfc_resolve_extends_type_of (gfc_expr *f, gfc_expr *a, gfc_expr *mo) gfc_add_component_ref (a, "$vptr"); else if (a->ts.type == BT_DERIVED) { - vtab = gfc_find_derived_vtab (a->ts.u.derived, false); + vtab = gfc_find_derived_vtab (a->ts.u.derived); /* Clear the old expr. */ gfc_free_ref_list (a->ref); memset (a, '\0', sizeof (gfc_expr)); @@ -870,7 +870,7 @@ gfc_resolve_extends_type_of (gfc_expr *f, gfc_expr *a, gfc_expr *mo) gfc_add_component_ref (mo, "$vptr"); else if (mo->ts.type == BT_DERIVED) { - vtab = gfc_find_derived_vtab (mo->ts.u.derived, false); + vtab = gfc_find_derived_vtab (mo->ts.u.derived); /* Clear the old expr. */ gfc_free_ref_list (mo->ref); memset (mo, '\0', sizeof (gfc_expr)); |