1! { dg-do compile }
2! { dg-options "-ffrontend-optimize -fdump-tree-original" }
3! PR fortran/52537 - optimize comparisons with empty strings
4program main
5  implicit none
6  character(len=10) :: a
7  character(len=30) :: line
8  character(len=4,kind=4) :: c4
9  line = 'x'
10  read (unit=line,fmt='(A)') a
11  c4 = 4_'foo'
12  if (c4 == 4_' ') print *,"foobar"
13  if (trim(a) == '') print *,"empty"
14  call foo(a)
15  if (trim(a) == '    ') print *,"empty"
16contains
17  subroutine foo(b)
18    character(*) :: b
19    if (b /= '   ') print *,"full"
20  end subroutine foo
21end program main
22! { dg-final { scan-tree-dump-times "_gfortran_string_len_trim" 4 "original" } }
23! { dg-final { cleanup-tree-dump "original" } }
24