1238104Sdes! { dg-do run }
2238104Sdesmodule b
3238104Sdes  type cat
4238104Sdes     integer :: i = 0
5238104Sdes  end type cat
6238104Sdesend module b
7238104Sdes
8238104Sdesprogram a
9238104Sdes  use b
10238104Sdes  type(cat) z
11238104Sdes  integer :: i = 0, j(4,3,2) = 0
12238104Sdes  call string_comp(i)
13238104Sdes  if (i /= 3) call abort
14238104Sdes  call string_comp(z%i)
15238104Sdes  if (z%i /= 3) call abort
16238104Sdes  call string_comp(j(1,2,1))
17238104Sdes  if (j(1,2,1) /= 3) call abort
18238104Sdesend program a
19238104Sdes
20238104Sdessubroutine string_comp(i)
21238104Sdes   integer, parameter :: map(0:50) = 3
22238104Sdes   integer :: i
23238104Sdes   i = map(42)
24238104Sdesend subroutine string_comp
25238104Sdes