blob: 8eb708d4989804406a8be36ad298081ac8af4358 [file] [log] [blame]
!==================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 <pault@gcc.gnu.org>
!
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