mirror of git://gcc.gnu.org/git/gcc.git
trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation. From-SVN: r179683
This commit is contained in:
parent
199c387dd1
commit
6bd0ce7b61
|
@ -1,3 +1,8 @@
|
||||||
|
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||||
|
|
||||||
|
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
|
||||||
|
cobounds evaluation.
|
||||||
|
|
||||||
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||||
|
|
||||||
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
|
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
|
||||||
|
|
|
@ -5994,7 +5994,21 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss)
|
||||||
tree base;
|
tree base;
|
||||||
|
|
||||||
if (se->want_coarray)
|
if (se->want_coarray)
|
||||||
codim = gfc_get_corank (expr);
|
{
|
||||||
|
codim = gfc_get_corank (expr);
|
||||||
|
for (n = ss->data.info.dimen; n < ss->data.info.dimen + codim - 1;
|
||||||
|
n++)
|
||||||
|
{
|
||||||
|
gfc_conv_section_startstride (&loop, ss, n, true, false);
|
||||||
|
loop.from[n] = info->start[n];
|
||||||
|
loop.to[n] = info->end[n];
|
||||||
|
}
|
||||||
|
|
||||||
|
gcc_assert (n == ss->data.info.dimen + codim - 1);
|
||||||
|
evaluate_bound (&loop.pre, info->start, info->ref->u.ar.start,
|
||||||
|
info->descriptor, n, true);
|
||||||
|
loop.from[n] = info->start[n];
|
||||||
|
}
|
||||||
else
|
else
|
||||||
codim = 0;
|
codim = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue