blob: a7e43b635e8f3ddfe6a021593899f2fc17de8b7a [file] [log] [blame]
! { dg-do run }
! Check that substrings behave correctly even when zero-sized
implicit none
character(len=10) :: s, t
integer :: i, j
s = "abcdefghij"
t(:10) = s(1:)
s(6:5) = "foo"
if (s /= t) call abort
i = 2
j = -1
s(i:i+j) = "foo"
if (s /= t) call abort
i = 20
s(i+1:i) = "foo"
if (s /= t) call abort
s(6:5) = s(7:5)
if (s /= t) call abort
s = t(7:6)
if (len(trim(s)) /= 0) call abort
if (len(t(8:4)) /= 0) call abort
if (len(trim(t(8:4))) /= 0) call abort
end