------- Comment #3 from burnus at gcc dot gnu dot org 2010-06-22 21:01 ------- Simple patch. Janus, if you have time, you can create a full patch out of it.
Index: decl.c =================================================================== --- decl.c (revision 161227) +++ decl.c (working copy) @@ -1764,7 +1764,7 @@ variable_decl (int elem) specified in the procedure definition, except that the interface may specify a procedure that is not pure if the procedure is defined to be pure(12.3.2). */ - if (current_ts.type == BT_DERIVED + if ((current_ts.type == BT_DERIVED || current_ts.type == BT_CLASS) && gfc_current_ns->proc_name && gfc_current_ns->proc_name->attr.if_source == IFSRC_IFBODY && current_ts.u.derived->ns != gfc_current_ns) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44614