the look at the official doc : https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strtof-strtof-l-wcstof-wcstof-l?view=vs-2019
as strtof is a function in msvcrt.dll, maybe it's a bug in the implementation. Vincent Torri On Wed, Jan 8, 2020 at 6:50 PM David Mathog <mat...@caltech.edu> wrote: > > On 2020-01-07 20:40, Vincent Torri wrote: > > hello > > > > have you looked at the exemple at the bottom of that page : > > > > https://linux.die.net/man/3/strtol > > Sure. My code works on linux using gnu compilers but does not work in > mingw64 using > (more or less) the same compilers and the results differ. Below is a a > tiny complete test program which demonstrates the issue showing the > issue, just cut and paste the indicated region into a bash shell on > linux and mingw64 > > #start cut here > cat >errno_prob.c <<'EOD' > /* > Build with: > > gcc -Wall -std=c99 -pedantic -o errno_prob errno_prob.c > > Run with > > errno_prob "1.0e+40" #overflow test > > */ > > #include <stdio.h> > #include <stdlib.h> > #include <errno.h> > > > int main(int argc,char **argv){ > char *final; > errno=0; > float fv = strtof(argv[1],&final); > fprintf(stderr,"DEBUG buffer %p final %p fv %f errno > %d\n",argv[1],final,fv, errno); > fflush(stderr); > exit(EXIT_SUCCESS); > } > EOD > gcc -Wall -std=c99 -pedantic -o errno_prob errno_prob.c > ./errno_prob "1.0e+40" > #end cut here > > Outputs from the two systems: > > linux: DEBUG buffer 0x7ffdb3ad8ee0 final 0x7ffdb3ad8ee6 fv inf errno > 34 > mingw64: DEBUG buffer 000000000068F970 final 000000000068F977 fv > 1.#INF00 errno 0 > > The only significant difference is that errno is not set in the mingw64 > one. It should be though, because 1.0e+40 is an ERANGE state, as > correctly indicated on linux. > No input I tried would make errno something other than 0. These were > tried: > > 1.0e+40 > blech > .000000000000000000000000000000000000000000000000001 > 1000000000000000000000000000000000000000000000000000 > 1.0e-100 > > So why is errno not set in mingw64? > > Thanks, > > David Mathog > mat...@caltech.edu > Manager, Sequence Analysis Facility, Biology Division, Caltech > > > _______________________________________________ > Mingw-w64-public mailing list > Mingw-w64-public@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public