| ! { dg-do compile } |
| ! PR fortran/32599 |
| ! Verifies that character string arguments to a bind(c) procedure have length |
| ! 1, or no len is specified. |
| module pr32599 |
| interface |
| subroutine destroy(path) BIND(C) ! { dg-error "must be length 1" } |
| use iso_c_binding |
| implicit none |
| character(len=*,kind=c_char), intent(IN) :: path |
| end subroutine destroy |
| |
| subroutine create(path) BIND(C) ! { dg-error "must be length 1" } |
| use iso_c_binding |
| implicit none |
| character(len=5,kind=c_char), intent(IN) :: path |
| end subroutine create |
| |
| ! This should be valid. |
| subroutine create1(path) BIND(C) |
| use iso_c_binding |
| implicit none |
| character(len=1,kind=c_char), intent(IN) :: path |
| end subroutine create1 |
| |
| ! This should be valid. |
| subroutine create2(path) BIND(C) |
| use iso_c_binding |
| implicit none |
| character(kind=c_char), intent(IN) :: path |
| end subroutine create2 |
| |
| ! This should be valid. |
| subroutine create3(path) BIND(C) |
| use iso_c_binding |
| implicit none |
| character(kind=c_char), dimension(*), intent(IN) :: path |
| end subroutine create3 |
| end interface |
| end module pr32599 |