* expr.c (find_array_section): Ignore the offset field.
* trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
any interface mapping to the offset field.
* gfortran.h (struct gfc_array_ref): Remove the offset field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190092
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-08-02 Mikael Morin <mikael@gcc.gnu.org>
+
+ * array.c (gfc_copy_array_ref): Don't copy the offset field.
+ * expr.c (find_array_section): Ignore the offset field.
+ * trans-expr.c (gfc_find_interface_mapping_to_ref): Don't apply
+ any interface mapping to the offset field.
+ * gfortran.h (struct gfc_array_ref): Remove the offset field.
+
2012-08-02 Janus Weil <janus@gcc.gnu.org>
PR fortran/54147
dest->stride[i] = gfc_copy_expr (src->stride[i]);
}
- dest->offset = gfc_copy_expr (src->offset);
-
return dest;
}
/* Now clock through the array reference, calculating the index in
the source constructor and transferring the elements to the new
- constructor. */
+ constructor. */
for (idx = 0; idx < (int) mpz_get_si (nelts); idx++)
{
- if (ref->u.ar.offset)
- mpz_set (ptr, ref->u.ar.offset->value.integer);
- else
- mpz_init_set_ui (ptr, 0);
+ mpz_init_set_ui (ptr, 0);
incr_ctr = true;
for (d = 0; d < rank; d++)
*stride[GFC_MAX_DIMENSIONS];
enum gfc_array_ref_dimen_type dimen_type[GFC_MAX_DIMENSIONS];
-
- struct gfc_expr *offset;
}
gfc_array_ref;
gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.end[n]);
gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.stride[n]);
}
- gfc_apply_interface_mapping_to_expr (mapping, ref->u.ar.offset);
break;
case REF_COMPONENT: