! { dg-do compile }
! Tests the fix for PR32464, where the use associated procedure would
! mess up the check for "grandparent" host association.
!
! Contributed by Harald Anlauf <anlauf@gmx.de>
!

module gfcbug64_mod1
  implicit none

  public :: inverse

  interface inverse
     module procedure copy
  end interface

contains

  function copy (d) result (y)
    real, intent(in) :: d(:)
    real             :: y(size (d))     ! <- this version kills gfortran
!    real, intent(in) :: d
!    real             :: y
    y = d
  end function copy

end module gfcbug64_mod1

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

module gfcbug64_mod2
  implicit none
contains

  subroutine foo (x_o)
    real, intent(in) :: x_o(:)

    integer          :: s(size (x_o))           ! <- this line kills gfortran

  contains

    subroutine bar ()
      use gfcbug64_mod1, only: inverse          ! <- this line kills gfortran
    end subroutine bar

  end subroutine foo
end module gfcbug64_mod2
