This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch: gcjh -vs- non-static final fields
- To: Gcc Patch List <gcc-patches at gcc dot gnu dot org>
- Subject: Patch: gcjh -vs- non-static final fields
- From: Tom Tromey <tromey at cygnus dot com>
- Date: 17 Jan 2000 11:24:40 -0700
- Reply-To: tromey at cygnus dot com
I'm committing this patch.
It changes gcjh to correctly handle non-static final fields.
2000-01-17 Tom Tromey <tromey@cygnus.com>
* gjavah.c (print_field_info): Allow non-static final fields.
Tom
Index: gjavah.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/java/gjavah.c,v
retrieving revision 1.37
diff -u -r1.37 gjavah.c
--- gjavah.c 1999/12/17 20:25:59 1.37
+++ gjavah.c 2000/01/17 18:21:57
@@ -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 Free Software Foundation, Inc.
+Copyright (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -436,7 +436,11 @@
return;
}
- if (flags & ACC_FINAL)
+ fputs (" ", out);
+ if ((flags & ACC_STATIC))
+ fputs ("static ", out);
+
+ if ((flags & ACC_FINAL))
{
if (current_field_value > 0)
{
@@ -449,7 +453,7 @@
{
jint num;
int most_negative = 0;
- fputs (" static const jint ", out);
+ fputs ("const jint ", out);
print_field_name (out, jcf, name_index, 0);
fputs (" = ", out);
num = JPOOL_INT (jcf, current_field_value);
@@ -468,7 +472,7 @@
{
jlong num;
int most_negative = 0;
- fputs (" static const jlong ", out);
+ fputs ("const jlong ", out);
print_field_name (out, jcf, name_index, 0);
fputs (" = ", out);
num = JPOOL_LONG (jcf, current_field_value);
@@ -486,7 +490,7 @@
case CONSTANT_Float:
{
jfloat fnum = JPOOL_FLOAT (jcf, current_field_value);
- fputs (" static const jfloat ", out);
+ fputs ("const jfloat ", out);
print_field_name (out, jcf, name_index, 0);
if (! java_float_finite (fnum))
fputs (";\n", out);
@@ -497,7 +501,7 @@
case CONSTANT_Double:
{
jdouble dnum = JPOOL_DOUBLE (jcf, current_field_value);
- fputs (" static const jdouble ", out);
+ fputs ("const jdouble ", out);
print_field_name (out, jcf, name_index, 0);
if (! java_double_finite (dnum))
fputs (";\n", out);
@@ -516,10 +520,6 @@
return;
}
}
-
- fputs (" ", out);
- if ((flags & ACC_STATIC))
- fputs ("static ", out);
override = get_field_name (jcf, name_index, flags);
print_c_decl (out, jcf, name_index, sig_index, 0, override);