1! { dg-do run }
2! PR fortran/85976
3! Original code from Stephan Kramer <stephan.kramer at imperial dot ac.uk>
4program foo
5
6  implicit none
7
8  call bar(2, 3, 5, 7)
9
10  contains
11
12  subroutine bar(k, l, m, n)
13
14    integer, intent(in) :: k, l, m, n
15    real :: a(k), b(k,l), c(k,l,m), d(k,l,m,n)
16
17    if (size(spread(A, 1, 1)) /= k) stop 1
18    if (size(spread(b, 1, 1)) /= k * l) stop 2
19    if (size(spread(c, 1, 1)) /= k * l * m) stop 3
20    if (size(spread(d, 1, 1)) /= k * l * m * n) stop 4
21
22  end subroutine
23
24end program
25