------- Comment #7 from fxcoudert at gcc dot gnu dot org  2008-02-15 16:21 
-------
(In reply to comment #6)
> That is, the ELSE branch needs to be fixed as well; the fix was only for rank
> == 0.

OK, here is an updated patch:

Index: trans-expr.c
===================================================================
--- trans-expr.c        (revision 132257)
+++ trans-expr.c        (working copy)
@@ -2264,6 +2264,13 @@
              gfc_conv_array_parameter (se, arg->expr, argss, f);
            }

+         /* TODO -- the following two lines shouldn't be necessary, but
+            they're removed a bug is exposed later in the codepath.
+            This is workaround was thus introduced, but will have to be
+            removed; please see PR 35150 for details about the issue.  */
+         se->expr = convert (pvoid_type_node, se->expr);
+         se->expr = gfc_evaluate_now (se->expr, &se->pre);
+
          return 0;
        }
       else if (sym->intmod_sym_id == ISOCBINDING_FUNLOC)


I've started regtesting and will submit it for review afterwards.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |fxcoudert at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2008-02-14 12:42:39         |2008-02-15 16:21:02
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35150

Reply via email to