1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
|