PR tree-optimization/86415 - strlen() not folded for substrings within constant arrays
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr70673.f90
blobfa4bd2fe02b93c0ed390adbb3413b1ad146aae77
1 ! { dg-do run }
3 ! Test the fix for PR70673
5 ! Contributed by David Kinniburgh <davidgkinniburgh@yahoo.co.uk>
7 module m
8 contains
9 subroutine s(inp)
10 character(*), intent(in) :: inp
11 character(:), allocatable :: a
12 a = a ! This used to ICE.
13 a = inp
14 a = a ! This used to ICE too
15 if ((len (a) .ne. 5) .or. (a .ne. "hello")) STOP 1
16 a = a(2:3) ! Make sure that temporary creation is not broken.
17 if ((len (a) .ne. 2) .or. (a .ne. "el")) STOP 2
18 deallocate (a)
19 a = a ! This would ICE too.
20 end subroutine s
21 end module m
23 use m
24 call s("hello")
25 end