41 lines
1.2 KiB
Fortran
41 lines
1.2 KiB
Fortran
! { 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
|