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