]> gcc.gnu.org Git - gcc.git/commit - gcc/fortran/interface.c
re PR fortran/42385 ([OOP] poylmorphic operators do not work)
authorPaul Thomas <pault@gcc.gnu.org>
Mon, 19 Jul 2010 18:48:44 +0000 (18:48 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Mon, 19 Jul 2010 18:48:44 +0000 (18:48 +0000)
commit974df0f87f1ecd3da2b2f88b807aa9f6c0f23770
treedcccbe076c70bfa184d4951d084dc40709a025ab
parentbe30e7b23d673cfdc18bd936380d0c551afdd024
re PR fortran/42385 ([OOP] poylmorphic operators do not work)

2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42385
* interface.c (matching_typebound_op): Add argument for the
return of the generic name for the procedure.
(build_compcall_for_operator): Add an argument for the generic
name of an operator procedure and supply it to the expression.
(gfc_extend_expr, gfc_extend_assign): Use the generic name in
calls to the above procedures.
* resolve.c (resolve_typebound_function): Catch procedure
component calls for CLASS objects, check that the vtable is
complete and insert the $vptr and procedure components, to make
the call.
(resolve_typebound_function): The same.
* trans-decl.c (gfc_trans_deferred_vars): Do not deallocate
an allocatable scalar if it is a result.

2010-07-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/42385
* gfortran.dg/class_defined_operator_1.f03 : New test.

From-SVN: r162313
gcc/fortran/ChangeLog
gcc/fortran/interface.c
gcc/fortran/resolve.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_defined_operator_1.f03 [new file with mode: 0644]
This page took 0.067149 seconds and 5 git commands to generate.