summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/substr_2.f
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/substr_2.f')
-rw-r--r--gcc/testsuite/gfortran.dg/substr_2.f24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/substr_2.f b/gcc/testsuite/gfortran.dg/substr_2.f
new file mode 100644
index 000000000..a7e43b635
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/substr_2.f
@@ -0,0 +1,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