------- Comment #7 from burnus at gcc dot gnu dot org 2010-08-19 09:56 ------- Untested patch:
Index: resolve.c =================================================================== --- resolve.c (revision 163368) +++ resolve.c (working copy) @@ -9724,7 +9724,8 @@ resolve_fl_variable (gfc_symbol *sym, in gfc_error ("External '%s' at %L cannot have an initializer", sym->name, &sym->declared_at); else if (sym->attr.dummy - && !(sym->ts.type == BT_DERIVED && sym->attr.intent == INTENT_OUT)) + && !(sym->ts.type == BT_DERIVED && sym->attr.intent == INTENT_OUT + && !sym->attr.pointer)) gfc_error ("Dummy '%s' at %L cannot have an initializer", sym->name, &sym->declared_at); else if (sym->attr.intrinsic) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45337