This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Static initializer bug



I'm working on getting serialization working, and I came across the
following bug.  Calling main in the following class prints 0:

class test
{
  public static void main (String[] args)
  {
    System.out.println (i);
  }

  private static final int i;

  static
  {
    i = 17;
  }
}

My guess is that this is a gcj problem, since gcj -C generates the
following code:

Method name:7="<clinit>" static Signature: 8=()void
Attribute "Code", length:13, max_stack:0, max_locals:0, code_length:1
  0: return

Method name:13="main" public static Signature: 14=(java.lang.String[])void
Attribute "Code", length:34, max_stack:2, max_locals:1, code_length:10
  0: getstatic #20=<Field java.lang.System.out java.io.PrintStream>
  3: getstatic #22=<Field test.i int>
  6: invokevirtual #28=<Method java.io.PrintStream.println (int)void>
  9: return

This was generated by the egcs_latest_snapshot revision from CVS.

Should I sumbit a PR for this?

-- 
Geoff Berry

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]