1! { dg-do run }
2
3! PR fortran/37099
4! Check for correct results when comparing array-section-substrings.
5
6! This is the test from comment #1 of the PR.
7! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr>
8
9integer, parameter :: n = 10
10integer, parameter :: ilst(n) = (/(i,i=1,n)/)
11character(*), parameter :: c0lst(n) = (/(char(96+i),i=1,n)/)
12character(*), parameter :: c1lst(n) = (/(char(96+i)//'b',i=1,n)/)
13logical :: tmp(n)
14i = 5
15print *, ilst(:) == i
16print *, c0lst(:)(1:1) == char(96+i)
17tmp = c1lst(:)(1:1) == char(96+i)
18print *, tmp
19print *, c1lst(:)(1:1) == 'e'
20if (any(tmp .neqv. (c0lst(:)(1:1) == char(96+i)))) STOP 1
21end
22