Commit c9dfc414 by Paul Thomas

re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)

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

	PR fortran/44596
	PR fortran/44745
	* trans-types.c (gfc_get_derived_type): Derived type fields
	with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.

From-SVN: r161801
parent 72aa3dca
2010-07-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44596
PR fortran/44745
* trans-types.c (gfc_get_derived_type): Derived type fields
with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
2010-07-02 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/44662
......
......@@ -2152,6 +2152,10 @@ gfc_get_derived_type (gfc_symbol * derived)
&& !c->attr.proc_pointer)
field_type = build_pointer_type (field_type);
/* vtype fields can point to different types to the base type. */
if (c->ts.type == BT_DERIVED && c->ts.u.derived->attr.vtype)
TYPE_REF_CAN_ALIAS_ALL (field_type) = true;
field = gfc_add_field_to_struct (&fieldlist, typenode,
get_identifier (c->name),
field_type, &chain);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment