[Patch, fortran] OOP - PR41648 and PR41656
Paul Richard Thomas
paul.richard.thomas@gmail.com
Mon Oct 12 21:29:00 GMT 2009
This patch fixes both the above PRs.
Bootstrapped and regtested on FC9/x86_64 - OK for trunk?
Paul
2009-10-12 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-12 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: submit.diff
Type: text/x-diff
Size: 15148 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20091012/bda35694/attachment.bin>
More information about the Fortran
mailing list