------- Comment #15 from mikael at gcc dot gnu dot org 2008-11-17 22:19 ------- (In reply to comment #14) I've just discovered I was paraphrasing Janus here: http://gcc.gnu.org/ml/fortran/2008-10/msg00219.html The error for comment #13 was introduced the patch in comment #10. Knowing that, I tried this: Index: expr.c =================================================================== --- expr.c (révision 141942) +++ expr.c (copie de travail) @@ -3514,7 +3514,7 @@ replace_symbol (gfc_expr *expr, gfc_symbol *sym, i && expr->symtree->n.sym->ns == sym->ts.interface->formal_ns) { gfc_symtree *stree; - gfc_get_sym_tree (expr->symtree->name, sym->formal_ns, &stree); + gfc_get_sym_tree (expr->symtree->n.sym->name, sym->formal_ns, &stree); stree->n.sym->attr = expr->symtree->n.sym->attr; expr->symtree = stree; } I don't know if it is solving the right problem, but at least the testcase in comment #13 compiles with it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36463