This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR fortran/15080
- From: Paul Brook <paul at codesourcery dot com>
- To: fortran at gcc dot gnu dot org,Jakub Jelinek <jakub at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 13 May 2005 15:33:07 +0100
- Subject: Re: [PATCH] Fix PR fortran/15080
- References: <20050429140257.GH17420@devserv.devel.redhat.com>
> 2005-04-29 Jakub Jelinek <firstname.lastname@example.org>
> 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): Add INNER_SIZE_BODY argument,
> propagate it down to compute_overall_iter_number.
> (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, gfc_evaluate_where_mask):
> Adjust calls to allocate_temp_for_forall_nest.
gfc_evaluate_where_mask needs the aame changes as gfc_trans_assign_need_temp.
I'd also appreciate it if you could document how all this works. We have lots
of different counters and temporaries floating around, and it's not at all
clear what the resulting code is supposed to look like.
Something similar to the comment above gfc_trans_forall_1, but for the case
where a temporary is required would be great.
Ok with those changes.