gcj/260: "Klass.class" expression should cause Klass to be initialized

bryce@albatross.co.nz bryce@albatross.co.nz
Thu Jun 15 04:16:00 GMT 2000


>Number:         260
>Category:       gcj
>Synopsis:       "Klass.class" expression should cause Klass to be initialized
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    apbianco
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 15 04:16:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Bryce McKinlay
>Release:        gcc version 2.96 20000608 (experimental)
>Organization:
>Environment:
any
>Description:
Using .class syntax should cause the referenced class to
be initialized.

The test case below should print "A initialized". gcj 
compiled from source or bytecode fails this. Bytecode running
with gij also fails.

Bytecode produced by gcj -C works, if it is run on another VM.

Some superfluous _Jv_InitClass calls may be removed from natClass.cc 
once this PR is fixed.
 
>How-To-Repeat:
class A
{
  static
  {
    System.out.println ("A initialized");
  }
}

public class ClassInit
{
  public static void main(String args[])
  {
    Class klass = A.class;
  }
}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the Java-prs mailing list