blob: ba2ce2f2a966f1f032c141d9cc518476541eb6b2 [file] [log] [blame]
! { dg-do compile }
!
! Test the fix for PR70673
!
! Contributed by David Kinniburgh <davidgkinniburgh@yahoo.co.uk>
!
module m
contains
subroutine s(inp)
character(*), intent(in) :: inp
character(:), allocatable :: a
a = a ! This used to ICE.
a = inp
a = a ! This used to ICE too
if ((len (a) .ne. 5) .or. (a .ne. "hello")) STOP 1
a = a(2:3) ! Make sure that temporary creation is not broken.
if ((len (a) .ne. 2) .or. (a .ne. "el")) STOP 2
deallocate (a)
a = a ! This would ICE too.
end subroutine s
end module m
use m
call s("hello")
end