PR java/19738
authorrmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2005 18:38:12 +0000 (18:38 +0000)
committerrmathew <rmathew@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Feb 2005 18:38:12 +0000 (18:38 +0000)
* gjavah.c (jni_print_float): Do not emit floating-point
initialiser for a static final field.
(jni_print_double): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94553 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 50d79e5..64e12fe 100644 (file)
@@ -1,3 +1,10 @@
+2005-02-02  Ranjit Mathew  <rmathew@hotmail.com>
+
+       PR java/19738
+       * gjavah.c (jni_print_float): Do not emit floating-point
+       initialiser for a static final field.
+       (jni_print_double): Likewise.
+
 2005-02-01  Mark Mitchell  <mark@codesourcery.com>
 
        Revert:
index 1f25ce6..e232a16 100644 (file)
@@ -1,7 +1,7 @@
 /* Program to write C++-suitable header files from a Java(TM) .class
    file.  This is similar to SUN's javah.
 
-Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -281,19 +281,22 @@ jni_print_float (FILE *stream, jfloat f)
      work in data initializers.  FIXME.  */
   if (JFLOAT_FINITE (f))
     {
-      fputs (flag_jni ? " " : " = ", out);
-      if (f.negative)
-       putc ('-', stream);
-      if (f.exponent)
-       fprintf (stream, "0x1.%.6xp%+df",
-                ((unsigned int)f.mantissa) << 1,
-                f.exponent - JFLOAT_EXP_BIAS);
-      else
-       /* Exponent of 0x01 is -125; exponent of 0x00 is *also* -125,
-          because the implicit leading 1 bit is no longer present.  */
-       fprintf (stream, "0x0.%.6xp%+df",
-                ((unsigned int)f.mantissa) << 1,
-                f.exponent + 1 - JFLOAT_EXP_BIAS);
+      if (flag_jni)
+        {
+          fputs (" ", out);
+          if (f.negative)
+            putc ('-', stream);
+          if (f.exponent)
+            fprintf (stream, "0x1.%.6xp%+df",
+                     ((unsigned int)f.mantissa) << 1,
+                     f.exponent - JFLOAT_EXP_BIAS);
+          else
+            /* Exponent of 0x01 is -125; exponent of 0x00 is *also* -125,
+               because the implicit leading 1 bit is no longer present.  */
+            fprintf (stream, "0x0.%.6xp%+df",
+                     ((unsigned int)f.mantissa) << 1,
+                     f.exponent + 1 - JFLOAT_EXP_BIAS);
+        }
     }
   if (! flag_jni)
     fputs (";\n", stream);
@@ -307,19 +310,22 @@ jni_print_double (FILE *stream, jdouble f)
      work in data initializers.  FIXME.  */
   if (JDOUBLE_FINITE (f))
     {
-      fputs (flag_jni ? " " : " = ", out);
-      if (f.negative)
-       putc ('-', stream);
-      if (f.exponent)
-       fprintf (stream, "0x1.%.5x%.8xp%+d",
-                f.mantissa0, f.mantissa1,
-                f.exponent - JDOUBLE_EXP_BIAS);
-      else
-       /* Exponent of 0x001 is -1022; exponent of 0x000 is *also* -1022,
-          because the implicit leading 1 bit is no longer present.  */
-       fprintf (stream, "0x0.%.5x%.8xp%+d",
-                f.mantissa0, f.mantissa1,
-                f.exponent + 1 - JDOUBLE_EXP_BIAS);
+      if (flag_jni)
+        {
+          fputs (" ", out);
+          if (f.negative)
+            putc ('-', stream);
+          if (f.exponent)
+            fprintf (stream, "0x1.%.5x%.8xp%+d",
+                     f.mantissa0, f.mantissa1,
+                     f.exponent - JDOUBLE_EXP_BIAS);
+          else
+            /* Exponent of 0x001 is -1022; exponent of 0x000 is *also* -1022,
+               because the implicit leading 1 bit is no longer present.  */
+            fprintf (stream, "0x0.%.5x%.8xp%+d",
+                     f.mantissa0, f.mantissa1,
+                     f.exponent + 1 - JDOUBLE_EXP_BIAS);
+        }
     }
   fputs (flag_jni ? "\n" : ";\n", stream);
 }