| ! { dg-do compile } |
| ! |
| ! PR fortran/50933 |
| ! |
| ! Check whether type-compatibility checks for BIND(C) work. |
| ! |
| ! Contributed by Richard Maine |
| ! |
| |
| MODULE liter_cb_mod |
| USE ISO_C_BINDING |
| CONTAINS |
| FUNCTION liter_cb(link_info) bind(C) |
| USE ISO_C_BINDING |
| IMPLICIT NONE |
| |
| INTEGER(c_int) liter_cb |
| |
| TYPE, bind(C) :: info_t |
| INTEGER(c_int) :: type |
| END TYPE info_t |
| |
| TYPE(info_t) :: link_info |
| |
| liter_cb = 0 |
| |
| END FUNCTION liter_cb |
| |
| END MODULE liter_cb_mod |
| |
| PROGRAM main |
| USE ISO_C_BINDING |
| interface |
| FUNCTION liter_cb(link_info) bind(C) |
| USE ISO_C_BINDING |
| IMPLICIT NONE |
| INTEGER(c_int) liter_cb |
| TYPE, bind(C) :: info_t |
| INTEGER(c_int) :: type |
| END TYPE info_t |
| TYPE(info_t) :: link_info |
| END FUNCTION liter_cb |
| end interface |
| |
| TYPE, bind(C) :: info_t |
| INTEGER(c_int) :: type |
| END TYPE info_t |
| type(info_t) :: link_info |
| |
| write (*,*) liter_cb(link_info) |
| |
| END PROGRAM main |