diff options
author | Thomas Koenig <Thomas.Koenig@online.de> | 2005-06-09 19:43:27 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2005-06-09 19:43:27 +0000 |
commit | 92f5e87c2ba9b5f83b8b465a43e43d41a2801265 (patch) | |
tree | 0f31fdfb3c3dd3af7b89a407ebda9e2ea89c4f54 /gcc | |
parent | 8562f05c95361a5a232e19ca6871c9cf6dcc4749 (diff) | |
download | gcc-92f5e87c2ba9b5f83b8b465a43e43d41a2801265.zip gcc-92f5e87c2ba9b5f83b8b465a43e43d41a2801265.tar.gz gcc-92f5e87c2ba9b5f83b8b465a43e43d41a2801265.tar.bz2 |
re PR fortran/21480 ([4.0 only] trivial reshape operation gives erroneous results)
2005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21480
* m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed
to reshape_packed.
* generated/reshape_c4.c: Regenerated.
* generated/reshape_c8.c: Regenerated.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
2005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/21480
* gfortran.dg/reshape-complex.f90: Add a test for a packed
complex array.
From-SVN: r100805
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/reshape-complex.f90 | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fe3197c..92f5a67 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2005-06-09 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/21480 + * gfortran.dg/reshape-complex.f90: Add a test for a packed + complex array. + 2005-06-09 Nathan Sidwell <nathan@codesourcery.com> * gcc.dg/alias-8.c: New. diff --git a/gcc/testsuite/gfortran.dg/reshape-complex.f90 b/gcc/testsuite/gfortran.dg/reshape-complex.f90 index 87c8049..72cafe4 100644 --- a/gcc/testsuite/gfortran.dg/reshape-complex.f90 +++ b/gcc/testsuite/gfortran.dg/reshape-complex.f90 @@ -1,11 +1,16 @@ ! { dg-do run } ! PR 21127: Reshape of complex didn't work. +! PR 21480: Reshape of packed complex arrays didn't work either. program main complex, dimension(8) :: b complex, dimension(2,2) :: a + complex, dimension(2) :: c,d integer :: i b = (/(i,i=1,8)/) a = reshape(b(1:8:2),shape(a)) if (a(1,1) /= (1.0, 0.0) .or. a(2,1) /= (3.0, 0.0) .or. & a(1,2) /= (5.0, 0.0) .or. a(2,2) /= (7.0, 0.0)) call abort + c = (/( 3.14, -3.14), (2.71, -2.71)/) + d = reshape(c, shape (d)) + if (any (c .ne. d)) call abort end |