! { dg-do compile }
module A
  use, intrinsic :: iso_c_binding
contains
  subroutine pA() bind(c, name='printf') ! { dg-error "collides" }
    print *, 'hello from pA'
  end subroutine pA
end module A

module B
  use, intrinsic :: iso_c_binding

contains
  subroutine pB() bind(c, name='printf') ! { dg-error "collides" }
    print *, 'hello from pB'
  end subroutine pB
end module B

module C
use A
use B ! { dg-error "Can't open module file" }
end module C