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

--- Comment #2 from Mikael Morin <mikael at gcc dot gnu.org> 2011-08-12 
11:54:27 UTC ---
In gfc_expr_to_initialize, we copy an expression, 

  result = gfc_copy_expr (e);


and then change it to something else:

  /* Change the last array reference from AR_ELEMENT to AR_FULL.  */
  for (ref = result->ref; ref; ref = ref->next)
    if (ref->type == REF_ARRAY && ref->next == NULL)
      {
    ref->u.ar.type = AR_FULL;

    for (i = 0; i < ref->u.ar.dimen; i++)
      ref->u.ar.start[i] = ref->u.ar.end[i] = ref->u.ar.stride[i] = NULL;

    result->rank = ref->u.ar.dimen;
    break;
      }


Not very surprising that it fails.

Reply via email to