]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR fortran/41648 ([OOP] Type-bound procedures refused)
authorPaul Thomas <pault@gcc.gnu.org>
Fri, 16 Oct 2009 06:07:09 +0000 (06:07 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Fri, 16 Oct 2009 06:07:09 +0000 (06:07 +0000)
commit28188747cb6d8088ed4ee3af90e55c64b814c737
tree89d54c12310628c9e52849e45e8f933aba1b6f3f
parent8e200755cfb45e4a71b45621ac79f508f71141cd
re PR fortran/41648 ([OOP] Type-bound procedures refused)

2009-10-16  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41648
PR fortran/41656
* trans-expr.c (select_class_proc): Convert the expression for the
vindex, carried on the first member of the esym list.
* gfortran.h : Add the vindex field to the esym_list structure.
and eliminate the class_object field.
* resolve.c (check_class_members): Remove the setting of the
class_object field.
(vindex_expr): New function.
(get_class_from_expr): New function.
(resolve_class_compcall): Call the above to find the ultimate
class or derived component.  If derived, do not generate the
esym list.  Add and expression for the vindex to the esym list
by calling the above.
(resolve_class_typebound_call): The same.

2009-10-16  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/41648
* gfortran.dg/dynamic_dispatch_4.f03 : New test.

PR fortran/41656
* gfortran.dg/dynamic_dispatch_5.f03 : New test.

From-SVN: r152890
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/dynamic_dispatch_4.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/dynamic_dispatch_5.f03 [new file with mode: 0644]