https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61847
--- Comment #2 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- Please see PR36857 for some background. gfortran uses the glibc strtod functions to convert the string to real. I think in your C code you need to do something like this: setlocale(LC_ALL, "C"); badcall_(); setlocale(LC_ALL, "de_DE.UTF-8"); and then if your locale does use comma for the decimal point, do this on the FORTRAN side. open(unit=1,file='bug.dat', decimal="comma")