(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
array_constructor_57.f90
! { dg-do run }
! PR fortran/93483
!
! Verify that resolution (host associated parameter vs. contained function) works.
!
! Contributed by Mikael Morin

module m
  implicit none
  integer, parameter :: a(*) = [ 7, 11 ]
contains
  subroutine bug
    real :: b(1), c(1)
    b = [ real :: (a(1)) ]
    c = [ real ::  a(1)  ]
    print *, b, c
    if (any (b /= [ 14. ])) stop 1
    if (any (c /= [ 14. ])) stop 2
  contains
    function a(c)
      integer :: a, c
      a = c + 13
    end function a
  end subroutine bug
end module m

program p
  use m
  call bug
end program p