]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR fortran/43291 ([OOP] Type mismatch in argument; passed CLASS(t1) to CLASS(t2))
authorPaul Thomas <pault@gcc.gnu.org>
Fri, 12 Mar 2010 22:00:52 +0000 (22:00 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Fri, 12 Mar 2010 22:00:52 +0000 (22:00 +0000)
commit6a943ee764c9719ba67245e3db7d9a84043da30a
tree4da09ecc18dc44b9841a498d42901e7f648b87dd
parent9c8cab4478ead482a1b758ba5155fc13cfd460f5
re PR fortran/43291 ([OOP] Type mismatch in argument; passed CLASS(t1) to CLASS(t2))

2010-03-12  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43291
PR fortran/43326
* resolve.c (resolve_compcall): Add new boolean dummy argument
'class_members'. Only resolve expression at end if false.
Remove redundant, static variable 'class_object'.
(check_class_members): Add extra argument to call of
resolve_compcall.
(resolve_typebound_function): Renamed resolve_class_compcall.
Do all the detection of class references here. Correct calls to
resolve_compcall for extra argument.
(resolve_typebound_subroutine): resolve_class_typebound_call
renamed. Otherwise same as resolve_typebound_function.
(gfc_resolve_expr): Call resolve_typebound_function.
(resolve_code): Call resolve_typebound_subroutine.

2010-03-12  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/43291
PR fortran/43326
* gfortran.dg/dynamic_dispatch_7.f03: New test.

From-SVN: r157411
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dynamic_dispatch_7.f03 [new file with mode: 0644]