mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 15:59:29 +08:00
gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
2000-01-31 Scott Bambrough <scottb@netwinder.org> * gcc/java/gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1. (java_float_finite): Convert to use union Word from javaop.h. (java_double_finite): Convert to use union DWord from javaop.h. From-SVN: r31768
This commit is contained in:
parent
de3807234a
commit
9b4a08f945
@ -1,3 +1,10 @@
|
||||
2000-01-31 Scott Bambrough <scottb@netwinder.org>
|
||||
|
||||
* gcc/java/gjavah.c (D_NAN_MASK): Alternate definition required when
|
||||
HOST_FLOAT_WORDS_BIG_ENDIAN is defined to be 1.
|
||||
(java_float_finite): Convert to use union Word from javaop.h.
|
||||
(java_double_finite): Convert to use union DWord from javaop.h.
|
||||
|
||||
2000-02-02 Tom Tromey <tromey@cygnus.com>
|
||||
|
||||
* gjavah.c (options): Added `jni' entry.
|
||||
|
@ -30,6 +30,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc. */
|
||||
|
||||
#include "jcf.h"
|
||||
#include "tree.h"
|
||||
#include "javaop.h"
|
||||
#include "java-tree.h"
|
||||
#include "java-opcodes.h"
|
||||
|
||||
@ -204,17 +205,18 @@ static int decompiled = 0;
|
||||
|
||||
/* Some useful constants. */
|
||||
#define F_NAN_MASK 0x7f800000
|
||||
#if (1 == HOST_FLOAT_WORDS_BIG_ENDIAN)
|
||||
#define D_NAN_MASK 0x000000007ff00000LL
|
||||
#else
|
||||
#define D_NAN_MASK 0x7ff0000000000000LL
|
||||
#endif
|
||||
|
||||
/* Return 1 if F is not Inf or NaN. */
|
||||
static int
|
||||
java_float_finite (f)
|
||||
jfloat f;
|
||||
{
|
||||
union {
|
||||
jfloat f;
|
||||
int32 i;
|
||||
} u;
|
||||
union Word u;
|
||||
u.f = f;
|
||||
|
||||
/* We happen to know that F_NAN_MASK will match all NaN values, and
|
||||
@ -228,14 +230,11 @@ static int
|
||||
java_double_finite (d)
|
||||
jdouble d;
|
||||
{
|
||||
union {
|
||||
jdouble d;
|
||||
int64 i;
|
||||
} u;
|
||||
union DWord u;
|
||||
u.d = d;
|
||||
|
||||
/* Now check for all NaNs. */
|
||||
return (u.i & D_NAN_MASK) != D_NAN_MASK;
|
||||
return (u.l & D_NAN_MASK) != D_NAN_MASK;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user