gcjh and static final's

Bryce McKinlay bryce@albatross.co.nz
Mon May 24 03:56:00 GMT 1999


[bug report]

public class A
{
  static final int FINAL = 69;
}

public class B
{
  static final int EQUAL = A.FINAL;
}

When these are compiled with jikes or javac, gcjh (as expected) produces
code in the h file like the following:

[B.h]
public: // actually package-private
  static const jint EQUAL = 69L;

But recently, when they are compiled with gcj -C,  gcjh produces this:

public: // actually package-private
  static jint EQUAL;

This is a problem because I have code in java.net that does this in
order to avoid conflicts with C defines in native code (ie remapping
TCP_NODELAY to _Jv_TCP_NODELAY_ , etc). The problem seems to have
appeared sometime in the past few weeks, I'm pretty sure it used to
work.

regards

  [ bryce ]


More information about the Java mailing list