diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/reshape-complex.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/reshape-complex.f90 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/reshape-complex.f90 b/gcc/testsuite/gfortran.dg/reshape-complex.f90 new file mode 100644 index 000000000..72cafe4f4 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/reshape-complex.f90 @@ -0,0 +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 |