re PR fortran/25270 (testcases fail with a type mismatch)
PR fortran/25270 * trans-array.c (gfc_trans_allocate_array_storage): In array index calculations use gfc_index_zero_node and gfc_index_one_node instead of integer_zero_node and integer_one_node respectively. (gfc_conv_array_transpose): Likewise. (gfc_conv_ss_startstride): Likewise. (gfc_trans_dummy_array_bias): Likewise. From-SVN: r112608
This commit is contained in:
parent
9ccab91c6f
commit
37da9343f5
2 changed files with 17 additions and 7 deletions
|
@ -1,3 +1,13 @@
|
|||
2006-04-01 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR fortran/25270
|
||||
* trans-array.c (gfc_trans_allocate_array_storage): In array index
|
||||
calculations use gfc_index_zero_node and gfc_index_one_node instead
|
||||
of integer_zero_node and integer_one_node respectively.
|
||||
(gfc_conv_array_transpose): Likewise.
|
||||
(gfc_conv_ss_startstride): Likewise.
|
||||
(gfc_trans_dummy_array_bias): Likewise.
|
||||
|
||||
2006-04-01 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* dependency.c (gfc_is_inside_range): Delete.
|
||||
|
|
|
@ -514,7 +514,7 @@ gfc_trans_allocate_array_storage (stmtblock_t * pre, stmtblock_t * post,
|
|||
{
|
||||
/* Make a temporary variable to hold the data. */
|
||||
tmp = fold_build2 (MINUS_EXPR, TREE_TYPE (nelem), nelem,
|
||||
integer_one_node);
|
||||
gfc_index_one_node);
|
||||
tmp = build_range_type (gfc_array_index_type, gfc_index_zero_node,
|
||||
tmp);
|
||||
tmp = build_array_type (gfc_get_element_type (TREE_TYPE (desc)),
|
||||
|
@ -726,9 +726,9 @@ gfc_conv_array_transpose (gfc_se * se, gfc_expr * expr)
|
|||
gcc_assert (src_info->dimen == 2);
|
||||
for (n = 0; n < 2; n++)
|
||||
{
|
||||
dest_info->delta[n] = integer_zero_node;
|
||||
dest_info->start[n] = integer_zero_node;
|
||||
dest_info->stride[n] = integer_one_node;
|
||||
dest_info->delta[n] = gfc_index_zero_node;
|
||||
dest_info->start[n] = gfc_index_zero_node;
|
||||
dest_info->stride[n] = gfc_index_one_node;
|
||||
dest_info->dim[n] = n;
|
||||
|
||||
dest_index = gfc_rank_cst[n];
|
||||
|
@ -2445,7 +2445,7 @@ gfc_conv_ss_startstride (gfc_loopinfo * loop)
|
|||
|
||||
gfc_start_block (&block);
|
||||
|
||||
fault = integer_zero_node;
|
||||
fault = boolean_false_node;
|
||||
for (n = 0; n < loop->dimen; n++)
|
||||
size[n] = NULL_TREE;
|
||||
|
||||
|
@ -3545,7 +3545,7 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc, tree body)
|
|||
partial = gfc_create_var (boolean_type_node, "partial");
|
||||
TREE_USED (partial) = 1;
|
||||
tmp = gfc_conv_descriptor_stride (dumdesc, gfc_rank_cst[0]);
|
||||
tmp = fold_build2 (EQ_EXPR, boolean_type_node, tmp, integer_one_node);
|
||||
tmp = fold_build2 (EQ_EXPR, boolean_type_node, tmp, gfc_index_one_node);
|
||||
gfc_add_modify_expr (&block, partial, tmp);
|
||||
}
|
||||
else
|
||||
|
@ -3561,7 +3561,7 @@ gfc_trans_dummy_array_bias (gfc_symbol * sym, tree tmpdesc, tree body)
|
|||
stride = gfc_conv_descriptor_stride (dumdesc, gfc_rank_cst[0]);
|
||||
stride = gfc_evaluate_now (stride, &block);
|
||||
|
||||
tmp = build2 (EQ_EXPR, boolean_type_node, stride, integer_zero_node);
|
||||
tmp = build2 (EQ_EXPR, boolean_type_node, stride, gfc_index_zero_node);
|
||||
tmp = build3 (COND_EXPR, gfc_array_index_type, tmp,
|
||||
gfc_index_one_node, stride);
|
||||
stride = GFC_TYPE_ARRAY_STRIDE (type, 0);
|
||||
|
|
Loading…
Add table
Reference in a new issue