trans-array.c (gfc_conv_loop_setup, [...]): Move specloop arrays clearing from the former to the latter.
* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array): Move specloop arrays clearing from the former to the latter. From-SVN: r180881
This commit is contained in:
parent
1d9370e909
commit
b2028d0b94
|
@ -1,3 +1,8 @@
|
|||
2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
|
||||
Move specloop arrays clearing from the former to the latter.
|
||||
|
||||
2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
|
||||
|
||||
* trans-array.c (set_loop_bounds): Separate the beginning of
|
||||
|
|
|
@ -902,6 +902,11 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post,
|
|||
pre);
|
||||
loop->from[n] = gfc_index_zero_node;
|
||||
|
||||
/* We have just changed the loop bounds, we must clear the
|
||||
corresponding specloop, so that delta calculation is not skipped
|
||||
later in set_delta. */
|
||||
loop->specloop[n] = NULL;
|
||||
|
||||
/* We are constructing the temporary's descriptor based on the loop
|
||||
dimensions. As the dimensions may be accessed in arbitrary order
|
||||
(think of transpose) the size taken from the n'th loop may not map
|
||||
|
@ -4136,7 +4141,6 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where)
|
|||
{
|
||||
gfc_ss *tmp_ss;
|
||||
tree tmp;
|
||||
int n;
|
||||
|
||||
set_loop_bounds (loop);
|
||||
|
||||
|
@ -4172,9 +4176,6 @@ gfc_conv_loop_setup (gfc_loopinfo * loop, locus * where)
|
|||
false, true, false, where);
|
||||
}
|
||||
|
||||
for (n = 0; n < loop->temp_dim; n++)
|
||||
loop->specloop[loop->order[n]] = NULL;
|
||||
|
||||
/* For array parameters we don't have loop variables, so don't calculate the
|
||||
translations. */
|
||||
if (loop->array_parameter)
|
||||
|
|
Loading…
Reference in New Issue