2
1) ftoc_names.for + ftoc_namesc.c => ftoc_names.exe
4
find out how Fortran subroutine names like CSUB() are passed on
6
the executable prints out the string (3/4 chars):
7
-fl for csub() -fu for CSUB()
8
-fl_ for csub_() -fu_ for CSUB_()
9
-_fl_ for _csub_() -f_u_ for _CSUB_()
10
-_fl for _csub() -f_u for _CSUB()
12
e.g. on AMD 64 Athlon +3500 with SUSE 9.3, gcc 3.3 we get
13
$ ../exec/ftoc_names.exe
16
2) forif.c + ftoc.c => forif.exe
18
convert a .fc file to a regular .c file
19
using output from ftoc_names.exe as input
22
3) ftoc_log.for + ftoc_logc.fc => ftoc_log.exe
24
to determine the integer values given to .TRUE. and .FALSE. in Fortran
25
as the type .fc indicates, ftoc_log.exe already uses the interface
26
F77-C determined before...
29
4) for_try.for + ftoc_stack.fc + stack_dump.h => ftoc_stack.exe
31
to show the parameter stack for different subroutine calls from
32
Fortran, inside the called C routine
34
the program is controlled via the ASCII file stack-test (1 line)
35
which contains a control-flag, the 1st and last stack entry to be
38
within the C routines of ftoc_stack.fc, the flags nogo[i] are set
39
= 0 (just show bare stack), = 1 (interpret entry as holding a
40
character parameter), = 2 (look for integer parameters).
43
5) for_test.for + ftoc_test.fc => ftoc_test.exe
45
test calling C routines from Fortran, i.e.
46
SSP1(s1,n1,s2,n2), SSP2(n1,n2,n3,n4,n5,n6), and SSP3(s1,s2,s3)
48
compare numbers, strings and lengths of strings with original values
49
from the Fortran main program