! { dg-do run }
! { dg-options "-O -fdump-tree-original" }
! Test that expressions in subroutine calls are also optimized
program main
  implicit none
  character(len=4) :: c
  c = 'abcd'
  call yes(c == c)
  call no(c /= c)
end program main

subroutine yes(a)
  implicit none
  logical, intent(in) :: a
  if (.not. a) STOP 1
end subroutine yes

subroutine no(a)
  implicit none
  logical, intent(in) :: a
  if (a) STOP 2
end subroutine no

! { dg-final { scan-tree-dump-times "gfortran_compare_string" 0 "original" } }

