arm: Add .type and .size to __gnu_cmse_nonsecure_call [PR115360]
[official-gcc.git] / gcc / testsuite / gfortran.dg / negative_stride_1.f90
blob45da92a223f5d109f255d976955ac22c28b3154c
1 ! { dg-do run }
3 ! PR fortran/102043
4 ! The middle-end used to conclude from array indexing that the index
5 ! should be non-negative and thus that array accesses to reversed arrays
6 ! (i.e. with negative strides) only access the last element of the array,
7 ! as the access involves a pointer to array that is initialized to point
8 ! to the last element in the case of a reversed array.
10 program main
11 implicit none
12 integer :: a(3, 3)
13 integer :: i
14 a = 0
15 call s(a(3:1:-1,:))
16 if (any(a(:,1) /= (/ 7, 5, 3 /))) stop 1
17 if (any(a(:,2) /= (/ 17, 13, 11 /))) stop 2
18 if (any(a(:,3) /= (/ 29, 23, 19 /))) stop 3
19 contains
20 subroutine s(b)
21 implicit none
22 integer, dimension(:,:) :: b
23 b = reshape((/ 3, 5, 7, 11, 13, 17, 19, 23, 29 /), (/ 3, 3 /))
24 end subroutine s
25 end program main