[Bug middle-end/50640] [4.7 Regression] FAIL: gfortran.dg/select_type_12.f03 -O (internal compiler error)

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 7 16:28:00 GMT 2011


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

--- Comment #21 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-11-07 16:27:24 UTC ---
(In reply to comment #20)
> The reason for the failure is clear: For the derived type/class, the function
> __copy_xtt_Foo is created. The created function is in the scope of the derived
> type - which is declared in program xtt. If one now places the "vtab" at the
> top level, the copy function is hidden in another function as nested function.
> 
> Hence, one also needs to create the function at top level; I wonder whether
> this can be already done at decl time in gfc_find_derived_vtab.

Post script: I was wondering whether it is possible to move the vtab to the top
level as one might get in trouble with other member functions; however, as
gfortran told me, a method (type-bound procedure) "must be a module procedure
or an external procedure with an explicit interface". Hence, all methods are
already visible at the toplevel.

Thus, it only affects _copy which /can/ be moved to the toplevel.



More information about the Gcc-bugs mailing list