summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/substr_2.f
blob: a7e43b635e8f3ddfe6a021593899f2fc17de8b7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
! { 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