1! { dg-do run }
2module b
3  type cat
4     integer :: i = 0
5  end type cat
6end module b
7
8program a
9  use b
10  type(cat) z
11  integer :: i = 0, j(4,3,2) = 0
12  call string_comp(i)
13  if (i /= 3) call abort
14  call string_comp(z%i)
15  if (z%i /= 3) call abort
16  call string_comp(j(1,2,1))
17  if (j(1,2,1) /= 3) call abort
18end program a
19
20subroutine string_comp(i)
21   integer, parameter :: map(0:50) = 3
22   integer :: i
23   i = map(42)
24end subroutine string_comp
25