On Sun, 02 Nov 2008, David Arturo Macias Corona wrote: Hi David,
> Current Harbour code compile fine with gcc335 with just well known warnings Thanks, > With OpenWatcom 1.7: > - Screen output > ----------------------- > make[3]: *** [hbmd5.obj] Error 8 ../../hbmd5.c(328): Error! E473: col(22) function argument(s) do not match those in prototype ../../hbmd5.c(328): Note! N392: col(22) definition: 'unsigned long hb_fsReadLarge( int, char *, unsigned long )' And we have a problem. In OpenWatcom header files BYTE is defined as: typedef char BYTE, *PBYTE, *NPBYTE; By default in OpenWatcom 'char' is unsigned but looks that it does not like such conversion. I hope that you haven't enabled -j OpenWatcom switch. It will break final binaries. Unfortunately we are using BYTE as synonym of 'unsigned char' in many places. I introduced UCHAR / SCHAR and systematically update BYTE used in number context to UCHAR but there is still a lot of code which have to be updated. In this case it should not be a problem because it's buffer so I'll add casting which will pacify the warnings/error message but we should keep in mind that BYTE in some platforms can be signed and we should continue code updating. The same is with pure 'char' casting. It can be signed or unsigned type, it's platform/C compiler dependent so we always should use 'unsigned char' (UCHAR) or 'signed char' (SCHAR) if sign is important. But this I fixed few years ago and now it's only reminder for new code. > make[3]: *** [thread.obj] Error 8 ../../thread.c(1240): Error! E029: col(60) symbol '_gettid' has not been declared _gettid() is GCC local function. I do not see function which returns directly thread ID in OS2 API. Probably it can be extracted from TIB structure returned by DosGetInfoBlocks(). I cannot find simpler method. Maurilio can you help? best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour