trans.h (gfc_ss_info): Remove codimen field.
* trans.h (gfc_ss_info): Remove codimen field. * trans-array.c (gfc_get_array_ss): Don't set codimen field. (gfc_trans_create_temp_array): Don't set descriptor's cobounds. (gfc_trans_constant_array_constructor): Update loop upper limit. (gfc_conv_ss_startstride): Don't set codimen field. Don't get descriptor's cobounds. (gfc_walk_variable_expr): Update dimension index. * trans-intrinsic.c (trans_this_image, trans_image_index, conv_intrinsic_cobound): Don't set codimen field From-SVN: r179690
This commit is contained in:
parent
c6d741b85b
commit
677e2daebf
|
@ -1,3 +1,15 @@
|
|||
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||
|
||||
* trans.h (gfc_ss_info): Remove codimen field.
|
||||
* trans-array.c (gfc_get_array_ss): Don't set codimen field.
|
||||
(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
|
||||
(gfc_trans_constant_array_constructor): Update loop upper limit.
|
||||
(gfc_conv_ss_startstride): Don't set codimen field.
|
||||
Don't get descriptor's cobounds.
|
||||
(gfc_walk_variable_expr): Update dimension index.
|
||||
* trans-intrinsic.c (trans_this_image, trans_image_index,
|
||||
conv_intrinsic_cobound): Don't set codimen field
|
||||
|
||||
2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
|
||||
|
||||
* trans.h (gfc_loopinfo): Remove codimen field.
|
||||
|
|
|
@ -526,7 +526,6 @@ gfc_get_array_ss (gfc_ss *next, gfc_expr *expr, int dimen, gfc_ss_type type)
|
|||
ss->expr = expr;
|
||||
info = &ss->data.info;
|
||||
info->dimen = dimen;
|
||||
info->codimen = 0;
|
||||
for (i = 0; i < info->dimen; i++)
|
||||
info->dim[i] = i;
|
||||
|
||||
|
@ -973,13 +972,6 @@ gfc_trans_create_temp_array (stmtblock_t * pre, stmtblock_t * post,
|
|||
size, tmp);
|
||||
size = gfc_evaluate_now (size, pre);
|
||||
}
|
||||
for (n = info->dimen; n < info->dimen + info->codimen; n++)
|
||||
{
|
||||
gfc_conv_descriptor_lbound_set (pre, desc, gfc_rank_cst[n],
|
||||
gfc_index_zero_node);
|
||||
if (n < info->dimen + info->codimen - 1)
|
||||
gfc_conv_descriptor_ubound_set (pre, desc, gfc_rank_cst[n], loop->to[n]);
|
||||
}
|
||||
|
||||
/* Get the size of the array. */
|
||||
|
||||
|
@ -1872,7 +1864,7 @@ gfc_trans_constant_array_constructor (gfc_loopinfo * loop,
|
|||
info->data = gfc_build_addr_expr (NULL_TREE, tmp);
|
||||
info->offset = gfc_index_zero_node;
|
||||
|
||||
for (i = 0; i < info->dimen + info->codimen; i++)
|
||||
for (i = 0; i < info->dimen; i++)
|
||||
{
|
||||
info->delta[i] = gfc_index_zero_node;
|
||||
info->start[i] = gfc_index_zero_node;
|
||||
|
@ -3330,12 +3322,6 @@ done:
|
|||
for (n = 0; n < ss->data.info.dimen; n++)
|
||||
gfc_conv_section_startstride (loop, ss, ss->data.info.dim[n],
|
||||
false, false);
|
||||
for (n = ss->data.info.dimen;
|
||||
n < ss->data.info.dimen + ss->data.info.codimen; n++)
|
||||
gfc_conv_section_startstride (loop, ss, ss->data.info.dim[n], true,
|
||||
n == ss->data.info.dimen
|
||||
+ ss->data.info.codimen -1);
|
||||
|
||||
break;
|
||||
|
||||
case GFC_SS_INTRINSIC:
|
||||
|
@ -7690,8 +7676,7 @@ gfc_walk_variable_expr (gfc_ss * ss, gfc_expr * expr)
|
|||
case DIMEN_RANGE:
|
||||
/* We don't add anything for sections, just remember this
|
||||
dimension for later. */
|
||||
newss->data.info.dim[newss->data.info.dimen
|
||||
+ newss->data.info.codimen] = n;
|
||||
newss->data.info.dim[newss->data.info.dimen] = n;
|
||||
if (n < ar->dimen)
|
||||
newss->data.info.dimen++;
|
||||
break;
|
||||
|
@ -7703,8 +7688,7 @@ gfc_walk_variable_expr (gfc_ss * ss, gfc_expr * expr)
|
|||
1, GFC_SS_VECTOR);
|
||||
indexss->loop_chain = gfc_ss_terminator;
|
||||
newss->data.info.subscript[n] = indexss;
|
||||
newss->data.info.dim[newss->data.info.dimen
|
||||
+ newss->data.info.codimen] = n;
|
||||
newss->data.info.dim[newss->data.info.dimen] = n;
|
||||
if (n < ar->dimen)
|
||||
newss->data.info.dimen++;
|
||||
break;
|
||||
|
|
|
@ -985,7 +985,6 @@ trans_this_image (gfc_se * se, gfc_expr *expr)
|
|||
gfc_init_se (&argse, NULL);
|
||||
ss = walk_coarray (expr->value.function.actual->expr);
|
||||
gcc_assert (ss != gfc_ss_terminator);
|
||||
ss->data.info.codimen = corank;
|
||||
argse.want_coarray = 1;
|
||||
gfc_conv_expr_descriptor (&argse, expr->value.function.actual->expr, ss);
|
||||
gfc_add_block_to_block (&se->pre, &argse.pre);
|
||||
|
@ -1171,7 +1170,6 @@ trans_image_index (gfc_se * se, gfc_expr *expr)
|
|||
gfc_init_se (&argse, NULL);
|
||||
ss = walk_coarray (expr->value.function.actual->expr);
|
||||
gcc_assert (ss != gfc_ss_terminator);
|
||||
ss->data.info.codimen = corank;
|
||||
argse.want_coarray = 1;
|
||||
gfc_conv_expr_descriptor (&argse, expr->value.function.actual->expr, ss);
|
||||
gfc_add_block_to_block (&se->pre, &argse.pre);
|
||||
|
@ -1496,7 +1494,6 @@ conv_intrinsic_cobound (gfc_se * se, gfc_expr * expr)
|
|||
|
||||
ss = walk_coarray (arg->expr);
|
||||
gcc_assert (ss != gfc_ss_terminator);
|
||||
ss->data.info.codimen = corank;
|
||||
gfc_init_se (&argse, NULL);
|
||||
argse.want_coarray = 1;
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ gfc_coarray_type;
|
|||
|
||||
typedef struct gfc_ss_info
|
||||
{
|
||||
int dimen, codimen;
|
||||
int dimen;
|
||||
/* The ref that holds information on this section. */
|
||||
gfc_ref *ref;
|
||||
/* The descriptor of this array. */
|
||||
|
|
Loading…
Reference in New Issue