]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/fortran/trans.h
re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)
authorJanus Weil <janus@gcc.gnu.org>
Sat, 21 Aug 2010 14:50:57 +0000 (16:50 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Sat, 21 Aug 2010 14:50:57 +0000 (16:50 +0200)
commit1d0134b3ccdc7e224f89540f05898742b13fecf9
tree73b55a92cbe026c1c26f39ee2a1feac959a278bd
parent02be26e48b35198e854bdfe4e608d8060fe7dfd6
re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)

2010-08-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/45271
PR fortran/45290
* class.c (add_proc_comp): Add static initializer for PPCs.
(add_procs_to_declared_vtab): Modified comment.
* module.c (mio_component): Add argument 'vtype'. Don't read/write the
initializer if the component is part of a vtype.
(mio_component_list): Add argument 'vtype', pass it on to
'mio_component'.
(mio_symbol): Modified call to 'mio_component_list'.
* trans.h (gfc_conv_initializer): Modified prototype.
(gfc_trans_assign_vtab_procs): Removed.
* trans-common.c (create_common): Modified call to
'gfc_conv_initializer'.
* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
gfc_emit_parameter_debug_info): Modified call to
'gfc_conv_initializer'.
(build_function_decl): Remove assertion.
* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
Removed call to 'gfc_trans_assign_vtab_procs'.
(gfc_conv_initializer): Add argument 'procptr'.
(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
(gfc_trans_assign_vtab_procs): Removed.
* trans-stmt.c (gfc_trans_allocate): Removed call to
'gfc_trans_assign_vtab_procs'.

2010-08-21  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44863
PR fortran/45271
PR fortran/45290
* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).

From-SVN: r163445
12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/class.c
gcc/fortran/module.c
gcc/fortran/trans-common.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-expr.c
gcc/fortran/trans-stmt.c
gcc/fortran/trans.h
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dynamic_dispatch_10.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pointer_init_5.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/typebound_call_18.f03 [new file with mode: 0644]