!==================assumed_size_refs_1.f90================== ! { dg-do compile } ! Test the fix for PR20868 & PR20870 in which references to ! assumed size arrays without an upper bound to the last ! dimension were generating no error. ! ! Contributed by Paul Thomas ! program assumed_size_test_2 implicit none real a(2, 4) a = 1.0 call foo (a) contains subroutine foo(m) real, target :: m(1:2, *) real x(2,2,2) real, pointer :: q(:,:) integer :: i allocate (q(2,2)) q = cos (1.0 + abs(m)) ! { dg-error "upper bound in the last dimension" } x = reshape (m, (/2,2,2/)) ! { dg-error "upper bound in the last dimension" } ! PR20868 print *, ubound (m) ! { dg-error "upper bound in the last dimension" } print *, lbound (m) ! PR20870 print *, size (m) ! { dg-error "upper bound in the last dimension" } ! Check non-array valued intrinsics print *, ubound (m, 1) print *, ubound (m, 2) ! { dg-error "not a valid dimension index" } i = 2 print *, size (m, i) end subroutine foo end program assumed_size_test_2