aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2008-10-21 20:12:52 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2008-10-21 20:12:52 +0000
commitc0c7206d89c1d73f5253415d7a8958f932f62e2b (patch)
tree4f368862290e2b5e79a8d920c685df20c5d2c9de /gcc
parent7d4074339038e21d9bfc7656b5ed8db4b5c57f01 (diff)
downloadgcc-c0c7206d89c1d73f5253415d7a8958f932f62e2b.zip
gcc-c0c7206d89c1d73f5253415d7a8958f932f62e2b.tar.gz
gcc-c0c7206d89c1d73f5253415d7a8958f932f62e2b.tar.bz2
re PR libfortran/34670 (bounds checking for array intrinsics)
2008-10-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/34670 * intrinsics/transpose_generic.c: Implement bounds checking. * m4/transpose.m4: Likewise. * generated/transpose_c8.c: Regenerated. * generated/transpose_c16.c: Regenerated. * generated/transpose_r10.c: Regenerated. * generated/transpose_i8.c: Regenerated. * generated/transpose_c10.c: Regenerated. * generated/transpose_r4.c: Regenerated. * generated/transpose_c4.c: Regenerated. * generated/transpose_i16.c: Regenerated. * generated/transpose_i4.c: Regenerated. * generated/transpose_r8.c: Regenerated. * generated/transpose_r16.c: Regenerated. 2008-10-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/34670 * gfortran.dg/transpose_2.f90: New test. From-SVN: r141276
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/transpose_2.f9018
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ddabb98..b008537 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/34670
+ * gfortran.dg/transpose_2.f90: New test.
+
2008-10-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/37669
diff --git a/gcc/testsuite/gfortran.dg/transpose_2.f90 b/gcc/testsuite/gfortran.dg/transpose_2.f90
new file mode 100644
index 0000000..d48651a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/transpose_2.f90
@@ -0,0 +1,18 @@
+! { dg-do run }
+! { dg-options "-fbounds-check" }
+! { dg-shouldfail "Incorrect extent in return value of TRANSPOSE intrinsic in dimension 1: is 2, should be 3" }
+program main
+ implicit none
+ character(len=10) :: in
+ real, dimension(:,:), allocatable :: a,b
+ integer :: ax, ay, bx, by
+
+ in = "2 2 3 2"
+ read (unit=in,fmt='(4I2)') ax, ay, bx, by
+ allocate (a(ax,ay))
+ allocate (b(bx,by))
+ a = 1.0
+ b = 2.1
+ b = transpose(a)
+end program main
+! { dg-output "Fortran runtime error: Incorrect extent in return value of TRANSPOSE intrinsic in dimension 1: is 2, should be 3" }