25 lines
591 B
Fortran
25 lines
591 B
Fortran
! { 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
|