------- Comment #1 from janus at gcc dot gnu dot org 2009-06-18 20:27 ------- Here is a preliminary patch which fixes the test case:
Index: gcc/fortran/trans-expr.c =================================================================== --- gcc/fortran/trans-expr.c (revision 148651) +++ gcc/fortran/trans-expr.c (working copy) @@ -2646,7 +2646,9 @@ gfc_conv_procedure_call (gfc_se * se, gf if (fsym && e->expr_type != EXPR_NULL && ((fsym->attr.pointer && fsym->attr.flavor != FL_PROCEDURE) - || fsym->attr.proc_pointer)) + || (fsym->attr.proc_pointer + && !(e->expr_type == EXPR_VARIABLE + && e->symtree->n.sym->attr.dummy)))) { /* Scalar pointer dummy args require an extra level of indirection. The null pointer already contains -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-06-18 20:27:30 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40450