re PR fortran/44434 ([OOP] ICE in in gfc_add_component_ref)
authorJanus Weil <janus@gcc.gnu.org>
Tue, 13 Jul 2010 06:57:17 +0000 (08:57 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Tue, 13 Jul 2010 06:57:17 +0000 (08:57 +0200)
commit88ce80316fbb4d001f08eb4c65dbb7ae88e0474f
tree7689fad89ebad1266a4bfa1f56e3f71d86faafdf
parentb1743e3754feb057b0019d46b1aadbd571afe657
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
16 files changed:
gcc/fortran/ChangeLog
gcc/fortran/class.c
gcc/fortran/gfortran.h
gcc/fortran/iresolve.c
gcc/fortran/resolve.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dynamic_dispatch_1.f03
gcc/testsuite/gfortran.dg/dynamic_dispatch_2.f03
gcc/testsuite/gfortran.dg/dynamic_dispatch_3.f03
gcc/testsuite/gfortran.dg/typebound_call_16.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_generic_6.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_generic_7.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_generic_8.f03 [new file with mode: 0644]