39 lines
834 B
Fortran
39 lines
834 B
Fortran
! { dg-do run }
|
|
! { dg-additional-sources bind_c_usage_17_c.c }
|
|
!
|
|
! PR fortran/37201
|
|
!
|
|
!
|
|
!
|
|
MODULE mod
|
|
INTERFACE
|
|
FUNCTION cdir() BIND(C,name="cdir") RESULT(r)
|
|
USE iso_c_binding
|
|
CHARACTER(kind=C_CHAR) :: r
|
|
END FUNCTION
|
|
END INTERFACE
|
|
END MODULE
|
|
|
|
PROGRAM test
|
|
USE mod
|
|
integer :: i = -43
|
|
character(len=1) :: str1
|
|
character(len=4) :: str4
|
|
str1 = 'x'
|
|
str4 = 'xyzz'
|
|
str1 = cdir()
|
|
if(str1 /= '/') call abort()
|
|
str4 = cdir()
|
|
if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort()
|
|
i = ICHAR(cdir())
|
|
if (i /= 47) call abort()
|
|
str4 = 'xyzz'
|
|
WRITE(str4,'(a)') cdir()
|
|
if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort()
|
|
str4 = 'xyzz'
|
|
WRITE(str4,'(i0)') ICHAR(cdir())
|
|
if(str4 /= '47' .or. ichar(str4(3:3)) /= 32) call abort()
|
|
END PROGRAM
|
|
|
|
! { dg-final { cleanup-modules "mod" } }
|