[Patch, fortran] PR fortran/51250 bug with sum(,dim,mask)
Steve Kargl
sgk@troutmask.apl.washington.edu
Thu Nov 24 23:47:00 GMT 2011
On Thu, Nov 24, 2011 at 11:51:31PM +0100, Mikael Morin wrote:
> this patch fixes a regression introduced by my recent inline sum change(s).
>
> This change:
> http://gcc.gnu.org/viewcvs?view=revision&revision=180895
> inserts a loop in gfc_trans_create_temp_array from:
>
> if (size == NULL_TREE)
> for (n = 0; n < ss->loop->dimen; n++)
>
> to:
>
> if (size == NULL_TREE)
> for (s = ss; s; s = s->parent)
> for (n = 0; n < s->loop->dimen; n++)
>
> That is we take care of array dimensions scattered in more than one loop.
> As a result of this, usages of 'ss' (before the patch the only one loop's
> array info, and after it the innermost loop's one) have to be replaced with
> usages of 's' (the current loop's one).
>
> One of them was forgotten, resulting in loops with library-allocated arrays
> geting the wrong shape (that from the innermost loop).
> This patch fixes it.
>
> Regression tested on x86_64-unknown-linux-gnu. OK for trunk?
>
OK.
--
Steve
More information about the Fortran
mailing list