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

--- Comment #9 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2010-10-06 
13:29:47 UTC ---
This fixes it.  I will commit after a full regression test. Earlier when I
added a scan through the OP's for parens I missed this change, so we were
looking at the intrinsic operator expression and not the expression within the
parens.

Index: resolve.c
===================================================================
--- resolve.c    (revision 165011)
+++ resolve.c    (working copy)
@@ -7934,7 +7934,7 @@ resolve_transfer (gfc_code *code)
   ts = &sym->ts;

   /* Go to actual component transferred.  */
-  for (ref = code->expr1->ref; ref; ref = ref->next)
+  for (ref = exp->ref; ref; ref = ref->next)
     if (ref->type == REF_COMPONENT)
       ts = &ref->u.c.component->ts;

Reply via email to