| ! { dg-do compile } |
| ! { dg-options "-Wc-binding-type" } |
| module bind_c_procs |
| use, intrinsic :: iso_c_binding, only: c_int |
| |
| interface |
| ! warning for my_param possibly not being C interoperable |
| subroutine my_c_sub(my_param) bind(c) ! { dg-warning "may not be C interoperable" } |
| integer, value :: my_param |
| end subroutine my_c_sub |
| |
| ! warning for my_c_func possibly not being a C interoperable kind |
| ! warning for my_param possibly not being C interoperable |
| ! error message truncated to provide an expression that both warnings |
| ! should match. |
| function my_c_func(my_param) bind(c) ! { dg-warning "may not be" } |
| integer, value :: my_param |
| integer :: my_c_func |
| end function my_c_func |
| end interface |
| |
| contains |
| ! warning for my_param possibly not being C interoperable |
| subroutine my_f03_sub(my_param) bind(c) ! { dg-warning "may not be" } |
| integer, value :: my_param |
| end subroutine my_f03_sub |
| |
| ! warning for my_f03_func possibly not being a C interoperable kind |
| ! warning for my_param possibly not being C interoperable |
| ! error message truncated to provide an expression that both warnings |
| ! should match. |
| function my_f03_func(my_param) bind(c) ! { dg-warning "may not be" } |
| integer, value :: my_param |
| integer :: my_f03_func |
| my_f03_func = 1 |
| end function my_f03_func |
| |
| end module bind_c_procs |