------- 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

Reply via email to