1290001Sglebius! { dg-do run } 2290001Sglebius! { dg-additional-sources bind_c_usage_17_c.c } 3290001Sglebius! 4290001Sglebius! PR fortran/37201 5290001Sglebius! 6290001Sglebius! 7290001Sglebius! 8290001SglebiusMODULE mod 9290001Sglebius INTERFACE 10290001Sglebius FUNCTION cdir() BIND(C,name="cdir") RESULT(r) 11290001Sglebius USE iso_c_binding 12290001Sglebius CHARACTER(kind=C_CHAR) :: r 13290001Sglebius END FUNCTION 14290001Sglebius END INTERFACE 15290001SglebiusEND MODULE 16290001Sglebius 17290001SglebiusPROGRAM test 18290001Sglebius USE mod 19290001Sglebius integer :: i = -43 20290001Sglebius character(len=1) :: str1 21290001Sglebius character(len=4) :: str4 22290001Sglebius str1 = 'x' 23290001Sglebius str4 = 'xyzz' 24290001Sglebius str1 = cdir() 25290001Sglebius if(str1 /= '/') call abort() 26290001Sglebius str4 = cdir() 27290001Sglebius if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort() 28290001Sglebius i = ICHAR(cdir()) 29290001Sglebius if (i /= 47) call abort() 30290001Sglebius str4 = 'xyzz' 31290001Sglebius WRITE(str4,'(a)') cdir() 32290001Sglebius if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) call abort() 33290001Sglebius str4 = 'xyzz' 34290001Sglebius WRITE(str4,'(i0)') ICHAR(cdir()) 35290001Sglebius if(str4 /= '47' .or. ichar(str4(3:3)) /= 32) call abort() 36290001SglebiusEND PROGRAM 37290001Sglebius