Watcom C and __int64: ia it a myth?

Is it an illusion or indeed Watcom C does support “long long” in some
version higher than v10.6?

The “limits.h” file that comes with “pthreads-v1.0b4” has this definition:
#ifdef WATCOM_INT64
#define LONGLONG_MIN (-9223372036854775807I64-1)
/* minimum value of an __int64
/
#define LONGLONG_MAX 9223372036854775807I64
/
maximum value of an __int64
/
#define ULONGLONG_MAX 18446744073709551615UI64
/
maximum value of an unsigned
__int64*/
#endif

Should I search v10.7 or v11.0b at eBay?
Roumors are that v11.x is buggy, what is the most preferable version WITH
__int64 support?

(I’m still having problems with installing gcc v2.7 port to QNX4)

Tony <mts.spb.suxx@mail.ru> wrote:
T > Is it an illusion or indeed Watcom C does support “long long” in some
T > version higher than v10.6?

T > The “limits.h” file that comes with “pthreads-v1.0b4” has this definition:
T > #ifdef WATCOM_INT64
T > #define LONGLONG_MIN (-9223372036854775807I64-1)
T > /* minimum value of an __int64
T > /
T > #define LONGLONG_MAX 9223372036854775807I64
T > /
maximum value of an __int64
T > /
T > #define ULONGLONG_MAX 18446744073709551615UI64
T > /
maximum value of an unsigned
T > __int64*/
T > #endif

T > Should I search v10.7 or v11.0b at eBay?
T > Roumors are that v11.x is buggy, what is the most preferable version WITH
T > __int64 support?

T > (I’m still having problems with installing gcc v2.7 port to QNX4)

The Watcom 11.0 Beta did have 64 bit ints. But it was never released to
the QNX world as a product. They did release v11.0 to teh Windows world.

I didn’t find the QNX v11.0 Beta buggy exactly. But there were some
compatability issues. For instance, you couldn’t have a line like:
char c, *cp;
Watcom claimed these were considered two different types, which they are,
and therefore required two different declairation lines.
char c;
char * cp;

The QNX header files were littered with lines like the first example.
That made it difficult to compile many programs.

Bill Caroselli wrote:

I didn’t find the QNX v11.0 Beta buggy exactly. But there were some
compatability issues. For instance, you couldn’t have a line like:
char c, *cp;

Do you really mean you couldn’t have a line like that, or do you mean it
generated a warning?

Wojtek Lerch <Wojtek_L@yahoo.ca> wrote:
WL > Bill Caroselli wrote:

I didn’t find the QNX v11.0 Beta buggy exactly. But there were some
compatability issues. For instance, you couldn’t have a line like:
char c, *cp;

WL > Do you really mean you couldn’t have a line like that, or do you mean it
WL > generated a warning?

I don’t remember if it generated a warning or an error. But it did
generate something. If it was only a warning, there was no way to
disable it.

Bill Caroselli <qtps@earthlink.net> wrote:

The Watcom 11.0 Beta did have 64 bit ints. But it was never released to
the QNX world as a product. They did release v11.0 to teh Windows world.

Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
only half cooked in respect to 64 bit ints… You can write a simple
several line test.c to verify this.

OpenWatcom is the way to go, but that is a dead end without the
involvement of QSS and QSS was determined not to be interested.
Search the old articles in qdn.* newsgroups. Maybe QSS has changed
their mind since :slight_smile:

Frank

…The Watcom 11.0 Beta did have 64 bit ints. But it was never
released to
the QNX world as a product…
Looking into QNX4 libraries (mostly the new ones) one may notice they were

made with v11.0b, does this mean that there was a usable distribution (both
compiler + libs)?

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints…
I need int64 support to be able to compile OpenSSH, if I manage to find

v11.0b - will it do the job? How serious is this “half_cookery”?

FL > OpenWatcom is the way to go, but that is a dead end without the
FL > involvement of QSS and QSS was determined not to be interested.
FL > Search the old articles in qdn.* newsgroups. Maybe QSS has changed
FL > their mind since > :slight_smile:
Is it possible to use OpenWatcom’s compiler with official QSSL’s Watcom C

v11.0b libraries?


Tony

Frank Liu <fliu@usdjmp1.eng.vodafone-us.com> wrote:
FL > Bill Caroselli <qtps@earthlink.net> wrote:

The Watcom 11.0 Beta did have 64 bit ints. But it was never released to
the QNX world as a product. They did release v11.0 to teh Windows world.

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints… You can write a simple
FL > several line test.c to verify this.

FL > OpenWatcom is the way to go, but that is a dead end without the
FL > involvement of QSS and QSS was determined not to be interested.
FL > Search the old articles in qdn.* newsgroups. Maybe QSS has changed
FL > their mind since :slight_smile:

FL > Frank

And it is such a shame because the Watcom compiler blows the doors of the
GNU piece of junk.

“Tony” <mts.spb.suxx@mail.ru> wrote in message
news:c7np23$n7l$1@inn.qnx.com

Is it an illusion or indeed Watcom C does support “long long” in some
version higher than v10.6?

The “limits.h” file that comes with “pthreads-v1.0b4” has this definition:
#ifdef WATCOM_INT64
#define LONGLONG_MIN (-9223372036854775807I64-1)
/* minimum value of an __int64
/
#define LONGLONG_MAX 9223372036854775807I64
/
maximum value of an __int64
/
#define ULONGLONG_MAX 18446744073709551615UI64
/
maximum value of an unsigned
__int64*/
#endif

I wrote C++ class for handling most long long, doesn’t work in printf but
still very useful

Should I search v10.7 or v11.0b at eBay?
Roumors are that v11.x is buggy, what is the most preferable version
WITH
__int64 support?

(I’m still having problems with installing gcc v2.7 port to QNX4)

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints…
I need int64 support to be able to compile OpenSSH, if I manage to find
v11.0b - will it do the job?
It is ONLY in the header, that’s it. So int64 is NOT usable in 11.0b
So, to compile the whole OpenSSH suite (namely sftp, which depends on int64)

I still NEED gcc port?

Are there any noticable improvements in v10.7 and v11.0b against
v10.6B+Security_patch that will repay going into the perills of obtaining
those versions?

Tony

“Mario Charest” postmaster@127.0.0.1 :

I wrote C++ class for handling most long long, doesn’t work in printf but
still very useful
Is it for v10.6B or higher?

May it help in compiling OpenSSH suite?
Is it usable to cheet to ./configure kind of scripts to make them believe we
have int64?

Can you share it?

Tony

Tony <mts.spb.suxx@mail.ru> wrote:

…The Watcom 11.0 Beta did have 64 bit ints. But it was never
released to
the QNX world as a product…
Looking into QNX4 libraries (mostly the new ones) one may notice they were
made with v11.0b, does this mean that there was a usable distribution (both
compiler + libs)?

The 11.0b was usable as Bill said. no worse than 10.6 I think.

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints…
I need int64 support to be able to compile OpenSSH, if I manage to find
v11.0b - will it do the job? How serious is this “half_cookery”?

It is ONLY in the header, that’s it. So int64 is NOT usable in 11.0b

FL > OpenWatcom is the way to go, but that is a dead end without the
FL > involvement of QSS and QSS was determined not to be interested.
FL > Search the old articles in qdn.* newsgroups. Maybe QSS has changed
FL > their mind since > :slight_smile:
Is it possible to use OpenWatcom’s compiler with official QSSL’s Watcom C
v11.0b libraries?

maybe. you will have to try.
or you can try cross-compile from Windows, using OpenWatcom.

Tony

Frank Liu <fliu@usdjmp1.eng.vodafone-us.com> wrote:
FL > Tony <mts.spb.suxx@mail.ru> wrote:

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints…
I need int64 support to be able to compile OpenSSH, if I manage to find
v11.0b - will it do the job? How serious is this “half_cookery”?

FL > It is ONLY in the header, that’s it. So int64 is NOT usable in 11.0b

Frank, are you sure that the V 11.0 beta didn’t support 64 bit ints?

I can definitly say that I never tried them back then. I had no need.
But I was pretty sure that they were supported.

Tony <mts.spb.suxx@mail.ru> wrote:

FL > Watcom 11 does support 64 bit ints, but the 11.0 beta from QNX is
FL > only half cooked in respect to 64 bit ints…
I need int64 support to be able to compile OpenSSH, if I manage to find
v11.0b - will it do the job?
It is ONLY in the header, that’s it. So int64 is NOT usable in 11.0b
So, to compile the whole OpenSSH suite (namely sftp, which depends on int64)
I still NEED gcc port?

Are there any noticable improvements in v10.7 and v11.0b against
v10.6B+Security_patch that will repay going into the perills of obtaining
those versions?

Lots of C++ enhancement.

Bill Caroselli <qtps@earthlink.net> wrote:

Frank, are you sure that the V 11.0 beta didn’t support 64 bit ints?

Been there done that.
You can take my word for it.

I can definitly say that I never tried them back then. I had no need.
But I was pretty sure that they were supported.

Tony <mts.spb.suxx@mail.ru> wrote:

So, to compile the whole OpenSSH suite (namely sftp, which depends on int64)
I still NEED gcc port?

The only ones that support int64 are gcc and openwatcom.
If you can get either of them work, you will be ok.
Another solution is to cross compile from Windows using Watcom,
I think the version on Windows is newer and has the int64 support.

Good luck!

Frank

“Tony” <mts.spb.suxx@mail.ru> wrote in message
news:c7q0cv$h8c$2@inn.qnx.com

“Mario Charest” postmaster@127.0.0.1 :
I wrote C++ class for handling most long long, doesn’t work in printf
but
still very useful
Is it for v10.6B or higher?

10.6, I just check and I was confuse it’s a set of C routine, but it can be
turned into C++ easely (with operator overload and tuff). Most of it is

May it help in compiling OpenSSH suite?

I don’t know. If it’s not C++, compiling the whole thing in C++ could cause
grief. Also if the int64 values are part of a structure that is sent over
network or something similar it may not work (C++ doesn’t not guaranty the
lay out of the data in a class)

Is it usable to cheet to ./configure kind of scripts to make them believe
we
have int64?

Don’t know, I’m alergic to ./configure stuff and wouldn’t touch it with a 10
feet pole.

Can you share it?

You want the C or C++ Version (which would take me some time to roll up).
Note that for C there is plenty of code available on Internet. For C++
there isn’t since all modern C++ compiler support it natively.

Tony

On 11 May 2004 14:57:41 GMT, Frank Liu <fliu@usdjmp1.eng.vodafone-us.com>
wrote:

The only ones that support int64 are gcc and openwatcom.

#include <stdio.h>
main()
{
__int64 ll = 1;
ll <<= 63;
printf("%x", ll >> 32);
}

I’ve tested Watcom v11.0 with this one and it DID got compiled and
linked.
The printout is 80000000.
Who is wrong?!

I’m not sure if this v11.0 is v11.0 or v11.0b - how to tell them apart?

Tony.