]> gcc.gnu.org Git - gcc.git/commitdiff
gjavah.c (D_NAN_MASK): Alternate definition required when HOST_FLOAT_WORDS_BIG_ENDIAN...
authorScott Bambrough <scottb@netwinder.org>
Thu, 3 Feb 2000 06:46:30 +0000 (06:46 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Thu, 3 Feb 2000 06:46:30 +0000 (06:46 +0000)
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

gcc/java/ChangeLog
gcc/java/gjavah.c

index 3e41ae56cf6853bdd24efbd142682d2e8354eb94..e9807e4e69993b3ee3df8b49a00a41dd13464c8e 100644 (file)
@@ -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.
index a9d3ae92033dcac96e5679fabf23eeec5c367697..6f97a64e83aaa33614a1e0bb2b685efa2922e505 100644 (file)
@@ -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
This page took 0.083797 seconds and 5 git commands to generate.