aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2008-11-18 22:43:05 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2008-11-18 22:43:05 +0000
commit042fed7915f1e924be61128d6409ad3eee2fe0a2 (patch)
tree97cecaa39e4576d0bc34005844bc138cb8810cbc /gcc
parent7a401a0df37dd6d55bf20b75ddf977f1b14c98f7 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/reshape_pad_1.f9025
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