http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53971

Mikael Morin <mikael at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mikael at gcc dot gnu.org

--- Comment #1 from Mikael Morin <mikael at gcc dot gnu.org> 2012-07-15 
12:27:49 UTC ---
(In reply to comment #0)
> The attached patch should be sufficient, but it causes many test suite
> failures, e.g. by having a __vtype in the call to class.c's
> find_typebound_proc_uop. For that argument, derived->f2k_derived == NULL, 
> which
> triggers an assert for gfortran.dg/abstract_type_6.f03.
> 
Hello, you may also look at conv_parent_component_references.
This function is normally used with extended derived types to access a field in
the base object: an implicit reference to the base type object (first field in
the extended one) is automatically added.
I don't remember the details, but I think that in some cases, it was fed with a
class container and was also doing the "right" thing in those cases (accessing
the object itself, and then one of its subfield).
Not sure whether it is relevant anymore as we now have calls to
gfc_fix_class_refs, which makes the implicit references explicit.

Anyway, even if it's not anymore relevant, I'm afraid there are many places we
use derived->components where we should have used gfc_find_component(derived,
"_data") :-(.

Reply via email to