------- Comment #3 from fxcoudert at gcc dot gnu dot org 2006-04-25 06:04 ------- (In reply to comment #2) > This was fixed for the non windows case for sure.
Yes: $ cat ftesti.f90 subroutine print_from_gfortran(txt) implicit none character :: txt print *,txt end subroutine print_from_gfortran $ ./bin/gfortran -shared -o ftesti.so ftesti.f90 $ cat ctesti.c #include <stdio.h> #include <dlfcn.h> void print_from_gcc(char* txt) { printf("%s\n",txt); } int main(int argc, char** argv) { void * hdl = dlopen("./ftesti.so", RTLD_LAZY); void (*print_from_gfortran)(char *) = dlsym(hdl, "print_from_gfortran_"); print_from_gcc ("c"); (*print_from_gfortran)("f"); print_from_gcc ("c"); (*print_from_gfortran)("f"); dlclose (hdl); return 0; } $ gcc -o ctesti.exe ctesti.c -ldl $ ./ctesti.exe c f c f And this even works when libgfortran is only available as a static library (as is the case on mingw32). I'll try to look deeper into this, but it looks very strange... -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fxcoudert at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27046