This compiles:
public class ClassIndex
implements Comparable
{
static final ClassIndex x = new ClassIndex ();
public int compareTo (Object o)
{
return 0;
}
public static void main (String[] args)
{
System.out.println (ClassIndex.x);
byte[] b = new byte[ClassIndex.x];
System.out.println ("Array length: " + b.length);
}
}
$ gcj -C ClassIndex.java
$ gcj --version
gcj (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--
Summary: GCJ permits indexing by final object
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: java
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cagney at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27399