[PATCH] Fix PR fortran/15080 (take 2)
Paul Brook
paul@codesourcery.com
Mon May 16 13:23:00 GMT 2005
On Monday 16 May 2005 14:08, Jakub Jelinek wrote:
> Is the comment below sufficient?
Yes, thanks.
> 2005-05-16 Jakub Jelinek <jakub@redhat.com>
>
> PR fortran/15080
> * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
> arguments. If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
> of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
> just that as index.
> (generate_loop_for_rhs_to_temp): Likewise.
> (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
> It non-NULL, add it to body.
> (allocate_temp_for_forall_nest_1): New function, split from
> allocate_temp_for_forall_nest.
> (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
> propagate it down to compute_overall_iter_number. Use
> allocate_temp_for_forall_nest_1.
> (gfc_trans_assign_need_temp): Remove COUNT2. Call
> compute_inner_temp_size into a new stmtblock_t. Adjust calls to
> allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
> and generate_loop_for_temp_to_lhs.
> (gfc_trans_pointer_assign_need_temp): Adjust calls to
> allocate_temp_for_forall_nest.
> (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
> stmtblock_t. Call compute_overall_iter_number just once, then
> allocate_temp_for_forall_nest_1 twice with the same size.
> Initialize mask indexes if nested_forall_info != NULL.
> (gfc_trans_where_2): Initialize mask indexes before calling
> gfc_trans_nested_forall_loop.
>
> * gfortran.fortran-torture/execute/forall_3.f90: Remove comment
> about the test failing.
> * gfortran.fortran-torture/execute/where_7.f90: New test.
> * gfortran.fortran-torture/execute/where_8.f90: New test.
Ok.
Paul
More information about the Gcc-patches
mailing list