1! { dg-do run } 2! { dg-additional-sources bind_c_usage_17_c.c } 3! 4! PR fortran/37201 5! 6! 7! 8MODULE mod 9 INTERFACE 10 FUNCTION cdir() BIND(C,name="cdir") RESULT(r) 11 USE iso_c_binding 12 CHARACTER(kind=C_CHAR) :: r 13 END FUNCTION 14 END INTERFACE 15END MODULE 16 17PROGRAM test 18 USE mod 19 integer :: i = -43 20 character(len=1) :: str1 21 character(len=4) :: str4 22 str1 = 'x' 23 str4 = 'xyzz' 24 str1 = cdir() 25 if(str1 /= '/') call abort() 26 str4 = cdir() 27 if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort() 28 i = ICHAR(cdir()) 29 if (i /= 47) call abort() 30 str4 = 'xyzz' 31 WRITE(str4,'(a)') cdir() 32 if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort() 33 str4 = 'xyzz' 34 WRITE(str4,'(i0)') ICHAR(cdir()) 35 if(str4 /= '47' .or. ichar(str4(3:3)) /= 32) call abort() 36END PROGRAM 37