! { 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" } } | |