This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug java/18868] New: Interface containing anonymous class breaks gij
- From: "steph at tangency dot co dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 7 Dec 2004 13:20:54 -0000
- Subject: [Bug java/18868] New: Interface containing anonymous class breaks gij
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The following construct seems to have issues with gij (3.4 and 4.0) but works ok
with kaffe and jamvm (output lower down)
public class C {
public static void main(String[] arg) {
System.err.println(A.instance);
System.err.println(A.instance.getInstance());
}
}
interface A {
public static A instance = new A() {
public A getInstance() {
return instance;
}
};
public abstract A getInstance();
}
JamVM output:
mkoch@asterix ~> jamvm C
A$1@401ff580
A$1@401ff580
GIJ-3.4 output:
mkoch@asterix ~> gij-3.4 C
A$1@8093f68
Exception in thread "main" java.lang.IncompatibleClassChangeError: field
A$1.instance was not found.
at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
at A$1.getInstance() (Unknown Source)
at C.main(java.lang.String[]) (Unknown Source)
mkoch@asterix ~> /home/mkoch/local/gcc-
gcc-3.4-debian gcc-4.0 gcc-awt
GIJ-4.0 output:
mkoch@asterix ~> /home/mkoch/local/gcc-4.0/bin/gij-4.0 C
A$1@80b0f28
Exception in thread "main" java.lang.IncompatibleClassChangeError: field
A$1.instance was not found.
at _Jv_Linker.resolve_pool_entry(java.lang.Class, int)
(/home/mkoch/local/gcc-4.0/lib/libgcj.so.6.0.0)
at A$1.getInstance() (Unknown Source)
at C.main(java.lang.String[]) (Unknown Source)
Kaffe output:
mkoch@asterix ~> kaffe C
A$1@83a1460
A$1@83a1460
mkoch@asterix ~>
--
Summary: Interface containing anonymous class breaks gij
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: java
AssignedTo: konqueror at gmx dot de
ReportedBy: steph at tangency dot co dot uk
CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu
dot org
GCC build triplet: i686-pc-linux-gnu
GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18868