diff options
Diffstat (limited to 'gcc/fortran')
| -rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/fortran/trans-array.c | 3 | ||||
| -rw-r--r-- | gcc/fortran/trans-expr.c | 5 |
3 files changed, 7 insertions, 8 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1b62f79..94db2b4 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2006-05-19 H.J. Lu <hongjiu.lu@intel.com> + + PR fortran/27662 + * trans-array.c (gfc_conv_expr_descriptor): Don't zere the + first stride to indicate a temporary. + * trans-expr.c (gfc_conv_function_call): Likewise. + 2006-05-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> Feng Wang <fengwang@nudt.edu.cn> diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index 7e9d5a6..32283a3 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -4108,10 +4108,7 @@ gfc_conv_expr_descriptor (gfc_se * se, gfc_expr * expr, gfc_ss * ss) /* Finish the copying loops. */ gfc_trans_scalarizing_loops (&loop, &block); - /* Set the first stride component to zero to indicate a temporary. */ desc = loop.temp_ss->data.info.descriptor; - tmp = gfc_conv_descriptor_stride (desc, gfc_rank_cst[0]); - gfc_add_modify_expr (&loop.pre, tmp, gfc_index_zero_node); gcc_assert (is_gimple_lvalue (desc)); } diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index 4eceab6..b91ebf6 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -2038,11 +2038,6 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym, gfc_trans_create_temp_array (&se->pre, &se->post, se->loop, info, tmp, false, !sym->attr.pointer, callee_alloc); - /* Zero the first stride to indicate a temporary. */ - tmp = gfc_conv_descriptor_stride (info->descriptor, gfc_rank_cst[0]); - gfc_add_modify_expr (&se->pre, tmp, - convert (TREE_TYPE (tmp), integer_zero_node)); - /* Pass the temporary as the first argument. */ tmp = info->descriptor; tmp = build_fold_addr_expr (tmp); |
