Hello world,

F2003, 6.1.1. "Substrings" states that

Both the starting point and the ending
point shall be within the range 1, 2, ..., n unless the starting point exceeds the ending point, in which
case the substring has length zero.

The attached patch, which corrects the test case, has
been committed as obvious.

What's left is the accepts-invalid bug.

Regards

        Thomas

2018-03-30  Thomas Koenig  <tkoe...@gcc.gnu.org>

        PR fortran/85130
        * gfortran.dg/substr_6.f90: Remove illegal test for
        out-of-bounds substring.
Index: gfortran.dg/substr_6.f90
===================================================================
--- gfortran.dg/substr_6.f90	(Revision 258845)
+++ gfortran.dg/substr_6.f90	(Arbeitskopie)
@@ -6,8 +6,6 @@
 CHARACTER*5 c(1)
 CHARACTER(1), parameter :: c1(5) = (/ "1", "2", "3", ACHAR(0), "5" /)
 
-c = c0(1)(-5:-8)
-if (c(1) /= "     ") STOP 1
 c = (/ c0(1)(1:5) /)
 do i=1,5
    if (c(1)(i:i) /= c1(i)) STOP 2

Reply via email to