Squelch HOST_FLOAT_WORDS_BIG_ENDIAN
Zack Weinberg
zack@codesourcery.com
Wed Mar 12 23:29:00 GMT 2003
Tom Tromey <tromey@redhat.com> writes:
>>>>>> "Zack" == Zack Weinberg <zack@codesourcery.com> writes:
>
> FYI there's a java-patches list.
Oops, sorry.
> gjavah is tested when building libgcj from scratch. All the required
> headers are built and then a fair number of them are used for other
> parts of the build. You could try `make header-check' in the target
> build directory, but I haven't run that target in a long time and I
> really have no idea if it works at all.
I get floods of errors, starting with:
In file included from htest.cc:215:
java/util/WeakHashMap.h:24: error: using-declaration for non-member at class
scope
java/util/WeakHashMap.h:24: error: expected function-definition
In file included from htest.cc:216:
java/util/prefs/NodeChangeListener.h:10: error: `java::util::prefs' is not a
class-name or namespace-name
java/util/prefs/NodeChangeListener.h:13: error: `java::util::prefs' is not a
class-name or namespace-name
java/util/prefs/NodeChangeListener.h:13: error: variable or field `childAdded'
declared void
java/util/prefs/NodeChangeListener.h:13: error: `childAdded' declared as a
`virtual' field
Nothing that looks specifically relevant to my change, though.
> I doubt the libgcj build (or test suite for that matter) would notice
> if the generated values were incorrect. That's because it would
> require CNI code to be using these values, and as far as I know there
> is none in the library (and there aren't any CNI tests aside from the
> library itself).
>
> Take a look at Double.h in the build tree (.../libjava/java/lang/Double.h).
> That should have some jdouble constants in it. The code in question
> should only be exercised when generating CNI headers for classes that
> have float or double constants ("static final float foo = 0.234234").
Yes, it does.
Before:
static const jdouble MAX_VALUE = 1.7976931348623157e+308;
static const jdouble MIN_VALUE = 4.9406564584124654e-324;
static const jdouble NEGATIVE_INFINITY;
static const jdouble POSITIVE_INFINITY;
static const jdouble NaN;
After:
static const jdouble MAX_VALUE;
static const jdouble MIN_VALUE;
static const jdouble NEGATIVE_INFINITY = -0x1.000000000p+2047;
static const jdouble POSITIVE_INFINITY = 0x1.000000000p+2047;
static const jdouble NaN = 0x1.8000000000000p+2047;
static ::java::lang::Class *TYPE;
It looks like I have my is-it-finite check backward. Will revise and
resubmit.
> Is there no way to get jcf-dump to print a non-hex value? This
> program is used for inspecting class files. Having hex output is less
> useful than printing the constant the way one would expect.
I believe I can do that by using ldexp(). That may mean we have to
link jcf-dump against libm, though. (Not necessary on Linux, NetBSD,
or Solaris, but all these are relatively boring systems with respect
to weird portability issues.)
zw
More information about the Java
mailing list