diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-11-18 22:43:05 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-11-18 22:43:05 +0000 |
commit | 042fed7915f1e924be61128d6409ad3eee2fe0a2 (patch) | |
tree | 97cecaa39e4576d0bc34005844bc138cb8810cbc /gcc | |
parent | 7a401a0df37dd6d55bf20b75ddf977f1b14c98f7 (diff) | |
download | gcc-042fed7915f1e924be61128d6409ad3eee2fe0a2.zip gcc-042fed7915f1e924be61128d6409ad3eee2fe0a2.tar.gz gcc-042fed7915f1e924be61128d6409ad3eee2fe0a2.tar.bz2 |
re PR fortran/38135 (RESHAPE gives wrong result)
2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38135
* m4/reshape.m4: Correct bounds checking when PAD is present.
Treat PAD as if it were SOURCE when SOURCE is empty.
* intrinsics/reshape_generic.c: Likewise.
* generated/reshape_c10.c Regenerated.
* generated/reshape_c16.c Regenerated.
* generated/reshape_c4.c Regenerated.
* generated/reshape_c8.c Regenerated.
* generated/reshape_i16.c Regenerated.
* generated/reshape_i4.c Regenerated.
* generated/reshape_i8.c Regenerated.
* generated/reshape_r10.c Regenerated.
* generated/reshape_r16.c Regenerated.
* generated/reshape_r4.c Regenerated.
* generated/reshape_r8.c Regenerated.
2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/38135
* gfortran.dg/reshape_pad_1.f90: New test case.
From-SVN: r141982
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/reshape_pad_1.f90 | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 27c26a3..a2b3096 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-11-18 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libfortran/38135 + * gfortran.dg/reshape_pad_1.f90: New test case. + 2008-11-18 Uros Bizjak <ubizjak@gmail.com> PR target/37362 diff --git a/gcc/testsuite/gfortran.dg/reshape_pad_1.f90 b/gcc/testsuite/gfortran.dg/reshape_pad_1.f90 new file mode 100644 index 0000000..33afd89 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/reshape_pad_1.f90 @@ -0,0 +1,25 @@ +! { dg-do run } +! PR 38135 - pad to RESHAPE didn't work correctly when SOURCE +! was an empty array. + +program main + implicit none + integer, parameter :: N = 3 + integer(kind=1) :: A1(N,N) + integer(kind=1) :: b1(n+1) + integer(kind=4) :: A4(n,n) + integer(kind=4) :: b4(n+1) + character(len=9) :: line + + b1 = (/ 1, 2, 2, 2 /) + + A1(1:N,1:N)=reshape(A1(1:0,1),(/N,N/),b1) + write(unit=line,fmt='(100i1)') A1 + if (line .ne. "122212221") call abort + + b4 = (/ 3, 4, 4, 4 /) + + a4 = reshape(a4(:0,1),(/n,n/),b4) + write(unit=line,fmt='(100i1)') a4 + if (line .ne. "344434443") call abort +end program main |