[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