! { dg-do compile } ! { dg-options "-Wc-binding-type" } module interop_params use, intrinsic :: iso_c_binding type my_f90_type integer :: i real :: x end type my_f90_type contains subroutine test_0(my_f90_int) bind(c) ! { dg-warning "may not be C interoperable" } use, intrinsic :: iso_c_binding integer, value :: my_f90_int end subroutine test_0 subroutine test_1(my_f90_real) bind(c) real(c_int), value :: my_f90_real ! { dg-warning "is for type INTEGER" } end subroutine test_1 subroutine test_2(my_type) bind(c) ! { dg-error "is not C interoperable" } use, intrinsic :: iso_c_binding type(my_f90_type) :: my_type end subroutine test_2 end module interop_params