re PR libfortran/22142 ([4.0 only] eoshift: boundary not filled in correctly)

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
        by size since it's a char pointer).
        * m4/eoshift3_4.c:  Regenerated.
        * m4/eoshift3_8.c:  Regenerated.

2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/22142
        * gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
        Add testcase for PR 22142.

From-SVN: r101392
This commit is contained in:
Thomas Koenig 2005-06-28 21:57:45 +00:00 committed by Thomas Koenig
parent 4de67c26fe
commit 0f363a3b8c
6 changed files with 25 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/22142
* gfortran.fortran-torture/execute/intrinsic_eoshift.f90:
Add testcase for PR 22142.
2005-06-28 Joseph S. Myers <joseph@codesourcery.com>
* g++.dg/ext/fpreg1.C, gcc.target/ia64/fpreg-1.c,

View File

@ -2,6 +2,7 @@
program intrinsic_eoshift
integer, dimension(3, 3) :: a
integer, dimension(3, 3, 2) :: b
integer, dimension(3) :: bo, sh
! Scalar shift and scalar bound.
a = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
@ -47,6 +48,13 @@ program intrinsic_eoshift
if (any (a .ne. reshape ((/7, -1, 3, 99, -1, 6, 99, 2, 9/), (/3, 3/)))) &
call abort
a = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
sh = (/ 3, -1, -3 /)
bo = (/-999, -99, -9 /)
a = eoshift(a, shift=sh, boundary=bo)
if (any (a .ne. reshape ((/ -999, -999, -999, -99, 4, 5, -9, -9, -9 /), &
shape(a)))) call abort
! Test arrays > rank 2
b(:, :, 1) = reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))
b(:, :, 2) = 10 + reshape ((/1, 2, 3, 4, 5, 6, 7, 8, 9/), (/3, 3/))

View File

@ -1,3 +1,11 @@
2005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/22142
* m4/eoshift3.m4: Correct bstride (it needs to be multiplied
by size since it's a char pointer).
* m4/eoshift3_4.c: Regenerated.
* m4/eoshift3_8.c: Regenerated.
2005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
PR libfortran/22170

View File

@ -135,7 +135,7 @@ eoshift3_4 (gfc_array_char *ret, gfc_array_char *array,
hstride[n] = h->dim[n].stride;
if (bound)
bstride[n] = bound->dim[n].stride;
bstride[n] = bound->dim[n].stride * size;
else
bstride[n] = 0;
n++;

View File

@ -135,7 +135,7 @@ eoshift3_8 (gfc_array_char *ret, gfc_array_char *array,
hstride[n] = h->dim[n].stride;
if (bound)
bstride[n] = bound->dim[n].stride;
bstride[n] = bound->dim[n].stride * size;
else
bstride[n] = 0;
n++;

View File

@ -136,7 +136,7 @@ eoshift3_`'atype_kind (gfc_array_char *ret, gfc_array_char *array,
hstride[n] = h->dim[n].stride;
if (bound)
bstride[n] = bound->dim[n].stride;
bstride[n] = bound->dim[n].stride * size;
else
bstride[n] = 0;
n++;