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

Reply via email to