aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/reshape_rank7.f9027
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 73501f2..b683caf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-17 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/21075
+ * gfortran.dg/reshape_rank7.f90: New test.
+
2005-04-17 Paul Thomas <pault@gcc.gnu.org>
PR libfortran/12884 gfortran.dg/pr12884.f: New test
diff --git a/gcc/testsuite/gfortran.dg/reshape_rank7.f90 b/gcc/testsuite/gfortran.dg/reshape_rank7.f90
new file mode 100644
index 0000000..d8f84f7
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/reshape_rank7.f90
@@ -0,0 +1,27 @@
+! { dg-do run}
+! PR 21075: Reshape with rank 7 used to segfault.
+program main
+ integer :: a(256), b(2,2,2,2,2,2,2)
+ do i=1,256
+ a(i) = i
+ end do
+ b = reshape(a(1:256:2), shape(b))
+ do i1=1,2
+ do i2=1,2
+ do i3=1,2
+ do i4=1,2
+ do i5=1,2
+ do i6=1,2
+ do i7=1,2
+ if (b(i1,i2,i3,i4,i5,i6,i7) /= &
+ 2*((i1-1)+(i2-1)*2+(i3-1)*4+(i4-1)*8+&
+ (i5-1)*16+(i6-1)*32+(i7-1)*64)+1) &
+ call abort
+ end do
+ end do
+ end do
+ end do
+ end do
+ end do
+ end do
+end program main