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: [EMAIL PROTECTED] ~> jamvm C [EMAIL PROTECTED] [EMAIL PROTECTED] GIJ-3.4 output: [EMAIL PROTECTED] ~> gij-3.4 C [EMAIL PROTECTED] 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) [EMAIL PROTECTED] ~> /home/mkoch/local/gcc- gcc-3.4-debian gcc-4.0 gcc-awt GIJ-4.0 output: [EMAIL PROTECTED] ~> /home/mkoch/local/gcc-4.0/bin/gij-4.0 C [EMAIL PROTECTED] 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: [EMAIL PROTECTED] ~> kaffe C [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] ~> -- 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