From f0caa736e0fee49ee8680899ba4d17a6e33d6b10 Mon Sep 17 00:00:00 2001 From: LKedward Date: Fri, 18 Sep 2020 10:15:13 +0100 Subject: Add: example package with c code compilation --- test/example_packages/with_c/src/with_c.f90 | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/example_packages/with_c/src/with_c.f90 (limited to 'test/example_packages/with_c/src/with_c.f90') diff --git a/test/example_packages/with_c/src/with_c.f90 b/test/example_packages/with_c/src/with_c.f90 new file mode 100644 index 0000000..edd839e --- /dev/null +++ b/test/example_packages/with_c/src/with_c.f90 @@ -0,0 +1,26 @@ +module with_c + use iso_c_binding, only: c_char, c_int, c_null_char + implicit none + +contains + + function system_isdir(dirname) + ! Source (Public domain): https://github.com/urbanjost/M_system + ! + implicit none + character(len=*),intent(in) :: dirname + logical :: system_isdir + + interface + function c_isdir(dirname) bind (C,name="my_isdir") result (c_ierr) + import c_char,c_int + character(kind=c_char,len=1),intent(in) :: dirname(*) + integer(kind=c_int) :: c_ierr + end function c_isdir + end interface + + system_isdir= c_isdir(trim(dirname)//c_null_char) == 1 + + end function system_isdir + +end module with_c \ No newline at end of file -- cgit v1.2.3