10 type(t
), parameter :: d(5) = [t(1), t(2), t(3), t(4), t(5)]
13 integer, parameter :: a(5) = [1, 2, 3, 4, 5]
14 integer i
, b(5), c(5), v(5)
20 if (any(b
/= v
)) call abort
24 if (any(b
/= v
)) call abort
26 ! Special cases shift = 0, size(a), 1-size(a)
27 b
= cshift([1, 2, 3, 4, 5], 0)
28 if (any(b
/= a
)) call abort
29 b
= cshift([1, 2, 3, 4, 5], size(a
))
30 if (any(b
/= a
)) call abort
31 b
= cshift([1, 2, 3, 4, 5], 1-size(a
))
32 if (any(b
/= a
)) call abort
34 ! simplification of array arg.
36 if (any(b
/= 2 * a
)) call abort
38 ! An array of derived types works too.
39 e
= [t(1), t(2), t(3), t(4), t(5)]
43 if (e(i
)%i
/= q(i
)%i
) call abort