blob: 33fa5a9d3b88a437eeae2b4275a6f80154c555e7 [file] [log] [blame]
! { dg-do run }
! { dg-options "-O -fdump-tree-original" }
program main
implicit none
character(len=4) :: c
integer :: n
integer :: i
integer :: k1, k2
common /foo/ i
n = 0
i = 0
k1 = 1
k2 = 3
c = 'abcd'
n = n + 1 ; if (c(1:2) == c(1:2)) call yes
n = n + 1 ; if (c(k1:k2) >= c(k1:k2)) call yes
n = n + 1 ; if (c(:2) <= c(1:2)) call yes
n = n + 1 ; if (c(k2:) .eq. c(k2:4)) call yes
n = n + 1 ; if (c(:) .ge. c) call yes
n = n + 1 ; if (c .le. c) call yes
if (c(1:2) /= c(1:2)) STOP 1
if (c(k1:k2) > c(k1:k2)) STOP 2
if (c(:2) < c(1:2)) STOP 3
if (c(:) .ne. c) STOP 4
if (c(:2) .gt. c(1:2)) STOP 5
if (c(1:2) .lt. c(:2)) STOP 6
if (n /= i) STOP 7
end program main
subroutine yes
implicit none
common /foo/ i
integer :: i
i = i + 1
end subroutine yes
! { dg-final { scan-tree-dump-times "gfortran_compare_string" 0 "original" } }