1! PR fortran/16861
2! { dg-do run }
3module foo
4  integer :: i
5end module foo
6
7module bar
8contains
9  subroutine baz(j)
10    use foo
11    integer, dimension(i) :: j
12    integer :: n
13
14    do n = 1, i
15      if (j(n) /= n**2) call abort
16    end do
17  end subroutine baz
18end module bar
19
20subroutine quus()
21  use foo
22  use bar
23
24  i = 2
25  call baz ((/1,4/))
26  i = 7
27  call baz ((/1,4,9,16,25,36,49/))
28end subroutine quus
29
30program test
31  call quus
32end program test
33