AArch64: correct constraint on Upl early clobber alternatives
[official-gcc.git] / gcc / testsuite / gfortran.dg / reshape_9.f90
blobdc52e26cc86cd1d22571af2179dfbbed17ec4425
1 ! { dg-do compile }
2 ! PR fortran/103411 - ICE in gfc_conv_array_initializer
3 ! Based on testcase by G. Steinmetz
4 ! Test simplifications for checks of shape argument to reshape intrinsic
6 program p
7 integer :: i
8 integer, parameter :: a(2) = [2,2]
9 integer, parameter :: u(5) = [1,2,2,42,2]
10 integer, parameter :: v(1,3) = 2
11 integer, parameter :: d(2,2) = reshape([1,2,3,4,5], a)
12 integer, parameter :: c(2,2) = reshape([1,2,3,4], a)
13 integer, parameter :: b(2,2) = &
14 reshape([1,2,3], a) ! { dg-error "not enough elements" }
15 print *, reshape([1,2,3], a) ! { dg-error "not enough elements" }
16 print *, reshape([1,2,3,4], a)
17 print *, reshape([1,2,3,4,5], a)
18 print *, b, c, d
19 print *, reshape([1,2,3], [(u(i),i=1,2)])
20 print *, reshape([1,2,3], [(u(i),i=2,3)]) ! { dg-error "not enough elements" }
21 print *, reshape([1,2,3], &
22 [(u(i)*(-1)**i,i=2,3)]) ! { dg-error "has negative element" }
23 print *, reshape([1,2,3,4], u(5:3:-2))
24 print *, reshape([1,2,3], u(5:3:-2)) ! { dg-error "not enough elements" }
25 print *, reshape([1,2,3,4], u([5,3]))
26 print *, reshape([1,2,3] , u([5,3])) ! { dg-error "not enough elements" }
27 print *, reshape([1,2,3,4], v(1,2:))
28 print *, reshape([1,2,3], v(1,2:)) ! { dg-error "not enough elements" }
29 print *, reshape([1,2,3,4], v(1,[2,1]))
30 print *, reshape([1,2,3] , v(1,[2,1])) ! { dg-error "not enough elements" }
31 end