blob: fa8aa68f9289d4f43d102084fa65a7ee96c783a0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
! { 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
|