1! { dg-do run }
2! { dg-options "-O -fdump-tree-original" }
3program main
4  implicit none
5  character(len=4) :: c, d
6  integer :: n
7  integer :: i
8  common /foo/ i
9
10  n = 0
11  i = 0
12  c = 'abcd'
13  d = 'efgh'
14
15  n = n + 1 ; if ('a' // c == 'a' // c) call yes
16  n = n + 1 ; if (c // 'a' == c // 'a') call yes
17  n = n + 1; if ('b' // c > 'a' // d) call yes
18  n = n + 1; if (c // 'b' > c // 'a') call yes
19
20  if ('a' // c /= 'a' // c) STOP 1
21  if ('a' // c // 'b' == 'a' // c // 'a') STOP 2
22  if ('b' // c == 'a' // c) STOP 3
23  if (c // 'a' ==  c // 'b') STOP 4
24  if (c // 'a ' /=  c // 'a') STOP 5
25  if (c // 'b' /=  c // 'b ') STOP 6
26
27  if (n /= i) STOP 7
28end program main
29
30subroutine yes
31  implicit none
32  common /foo/ i
33  integer :: i
34  i = i + 1
35end subroutine yes
36
37! { dg-final { scan-tree-dump-times "gfortran_compare_string" 0 "original" } }
38
39