Bug on Solaris

Jeff Sturm jsturm@one-point.com
Wed Jan 9 07:44:00 GMT 2002


On Wed, 9 Jan 2002, Martin Kahlert wrote:
> cool idea, and i immediately changed the line 
> if (FLOAT_WORDS_BIG_ENDIAN)
> into
> if (FLOAT_WORDS_BIG_ENDIAN && sizeof(num[0]) < 8)
> and after that the prog worked o.k. for the testcase on Linux and Solaris.

Good.  Thanks for trying that.  It failed on my sparcv9 and alpha builds,
apparently for unrelated reasons :(

(Question for maintainers: Should we commit Martin's program to the libgcj
testsuite?  Is the output reliable cross-platform?)

> What's the idea behind HOST_WIDE_INT? For the java frontend, all the
> types are defined exactly by Sun. E.g. an int has 32 bits and so on.
> So wouldn't types like int32_t be better for such tasks?

We're pretty much constrained to using GCC's type system.  HOST_WIDE_INT
is normally the largest integer type the host compiler can accomodate,
i.e. `long long' if the compiler supports it, else `long'.

However for building gcj we don't support non-GCC host compilers, so
"sizeof(HOST_WIDE_INT) >= 8" is probably a safe bet.

Jeff



More information about the Java mailing list