On Thu, 25 Sep 2008, Szak�ts Viktor wrote: Hi Viktor,
> Seems like a good idea. Considering the few CRTL stuff we use, > maybe we could just get rid of them all. At least as far as core is > concerned. [ Clipper did it, too. ] Some function like memcpy() or memmove() are very often inlined and highly optimized so not for all of them I will want to make such replacement. But things like *printf() and FILE based function can be eliminated. > BTW, I've just looked into the build results and there are 4 new > warnings after the hbdefs.h change :( > ../../genc.c:1585: warning: format '%I64i' expects type 'int', but argument > 3 has type 'long long int' > ../../gencc.c:1239: warning: format '%I64i' expects type 'int', but > argument 3 has type 'long long int' > ../../estack.c:1019: warning: format '%I64i' expects type 'int', but > argument 2 has type 'HB_LONG' > ../../hbsqlit3.c:1136: warning: format '%I64d' expects type 'int', but > argument 4 has type 'sqlite3_uint64' In all four places the code is correct and passed value is 64bit signed integer. Just simply MinGW developers added support for I64 in *printf() but they forgot to update expected type validation which should mot be 'int' but 'long long int' for such formatting and MinGW reports wrong warnings. It's a bug in MinGW. I only hope it does not effect generated code. best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour