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

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot       |jvdelisle at gcc dot
                   |gnu.org                     |gnu.org

--- Comment #9 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2010-11-15 
06:50:58 UTC ---
Once I understood what I was seeing in the attachment.  The first patch and
this cleaner one, actually works.

Index: trans-expr.c
===================================================================
--- trans-expr.c    (revision 166686)
+++ trans-expr.c    (working copy)
@@ -4881,7 +4881,8 @@ gfc_trans_pointer_assignment (gfc_expr * expr1, gf

       /* If this is a subreference array pointer assignment, use the rhs
          descriptor element size for the lhs span.  */
-      if (expr1->symtree->n.sym->attr.subref_array_pointer)
+      if (expr1->symtree->n.sym->attr.subref_array_pointer
+          && DECL_LANG_SPECIFIC (expr1->symtree->n.sym->backend_decl))
         {
           decl = expr1->symtree->n.sym->backend_decl;
           gfc_init_se (&rse, NULL);

Reply via email to