111
|
1 ! { dg-do run }
|
|
2 ! { dg-additional-sources bind_c_usage_17_c.c }
|
|
3 !
|
|
4 ! PR fortran/37201
|
|
5 !
|
|
6 !
|
|
7 !
|
|
8 MODULE 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
|
|
15 END MODULE
|
|
16
|
|
17 PROGRAM 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()
|
131
|
25 if(str1 /= '/') STOP 1
|
111
|
26 str4 = cdir()
|
131
|
27 if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) STOP 2
|
111
|
28 i = ICHAR(cdir())
|
131
|
29 if (i /= 47) STOP 3
|
111
|
30 str4 = 'xyzz'
|
|
31 WRITE(str4,'(a)') cdir()
|
131
|
32 if(str4 /= '/' .or. ichar(str4(2:2)) /= 32) STOP 4
|
111
|
33 str4 = 'xyzz'
|
|
34 WRITE(str4,'(i0)') ICHAR(cdir())
|
131
|
35 if(str4 /= '47' .or. ichar(str4(3:3)) /= 32) STOP 5
|
111
|
36 END PROGRAM
|