The Fortran API is split between the xcfun.F90 and the fortran.c files. As far as I can understand, this i to ensure Fortran/C interoperability without using iso_c_binding since that is formally available only in Fortran 2003.
As of 2018, it can be safely assumed that all compilers have iso_c_binding properly implemented. Thus the two files can be unified and simplified. Ideally, xcfun.f90 will be just a shim over the C API specification in xcfun.h.
Ideas/TODO points:
Remove the need to preprocess xcfun.F90, i.e.xcfun.f90 should be enough.
Use iso_c_binding to fix types between Fortran and C.
The Fortran API is split between the
xcfun.F90
and thefortran.c
files. As far as I can understand, this i to ensure Fortran/C interoperability without usingiso_c_binding
since that is formally available only in Fortran 2003. As of 2018, it can be safely assumed that all compilers haveiso_c_binding
properly implemented. Thus the two files can be unified and simplified. Ideally,xcfun.f90
will be just a shim over the C API specification inxcfun.h
. Ideas/TODO points:xcfun.F90
, i.e.xcfun.f90
should be enough.iso_c_binding
to fix types between Fortran and C.