2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+ * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
+ argument. Remove condition on coarray_last.
+ (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
+ (gfc_conv_expr_descriptor): Ditto.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
handling. Don't reset array ref's corank and codimensions' types
in the full array ref case. Update loop upper limit.
static void
gfc_conv_section_startstride (gfc_loopinfo * loop, gfc_ss * ss, int dim,
- bool coarray, bool coarray_last)
+ bool coarray)
{
gfc_expr *stride = NULL;
tree desc;
/* Similarly calculate the end. Although this is not used in the
scalarizer, it is needed when checking bounds and where the end
is an expression with side-effects. */
- if (!coarray_last)
- evaluate_bound (&loop->pre, info->end, ar->end, desc, dim, false);
+ evaluate_bound (&loop->pre, info->end, ar->end, desc, dim, false);
/* Calculate the stride. */
if (!coarray && stride == NULL)
for (n = 0; n < ss->data.info.dimen; n++)
gfc_conv_section_startstride (loop, ss, ss->data.info.dim[n],
- false, false);
+ false);
break;
case GFC_SS_INTRINSIC:
for (n = ss->data.info.dimen; n < ss->data.info.dimen + codim - 1;
n++)
{
- gfc_conv_section_startstride (&loop, ss, n, true, false);
+ gfc_conv_section_startstride (&loop, ss, n, true);
loop.from[n] = info->start[n];
loop.to[n] = info->end[n];
}