! { dg-do compile }
!
! PR fortran/110993 - bogus diagnostics on renamed interface import
!
! Contributed by Rimvydas Jasinskas <rimvydas.jas at gmail.com>

module m
  interface
    subroutine bar(x)
      use iso_c_binding, only : c_float
      implicit none
      real(c_float) :: x(45)
    end subroutine
  end interface
end

module m1
  interface
    subroutine bar1(x) bind(c)
      use iso_c_binding, only : c_float
      implicit none
      real(c_float) :: x(45)
    end subroutine
  end interface
end

module m2
  interface
    subroutine bar2(x) bind(c, name="bar2_")
      use iso_c_binding, only : c_float
      implicit none
      real(c_float) :: x(45)
    end subroutine
  end interface
end

subroutine foo(y)
  use m,  notthisone => bar
  use m1, northisone => bar1
  use m2,  orthisone => bar2
  implicit none
  real :: y(3)
  call bar (y)
  call bar1(y)
  call bar2(y)
end subroutine