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

Reply via email to