diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-10-21 20:12:52 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2008-10-21 20:12:52 +0000 |
commit | c0c7206d89c1d73f5253415d7a8958f932f62e2b (patch) | |
tree | 4f368862290e2b5e79a8d920c685df20c5d2c9de /gcc | |
parent | 7d4074339038e21d9bfc7656b5ed8db4b5c57f01 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/transpose_2.f90 | 18 |
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" } |