With certain invalid code, the 4.1 branch of gcj produces an ICE after giving the correct error message. For example: $ cat T5.java final class T6 { } class T5 extends T6 { } $ gcj -C T5.java T5.java:3: error: Can't subclass final classes: T6. class T5 extends T6 { ^ T5.java:0: internal compiler error: tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in check_inner_circular_reference, at ./gcc/java/parse.y:5389 Please submit a full bug report,[...] This problem happens with latest CVS and the 4.1-20050515 snapshot but not 4.0.1. It sounds similar to bug 4715, and it seems to have a similar workaround to the one given there; adding if (TREE_CODE (su) == POINTER_TYPE) continue; to check_inner_circular_reference() makes the problem go away.
Confirmed.
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.
All gcj front end bugs have been fixed by the gcj-eclipse branch merge. I'm mass-closing the affected PRs. If you believe one of these was closed in error, please reopen it with a note explaining why. Thanks.
Author: hubicka Date: Sat Jun 18 10:48:08 2011 New Revision: 175174 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=175174 Log: PR lto/23754 * lto.c (lto_1_to_1_map): Don't create empty partitions. (lto_balanced_map): Likewise. Modified: trunk/gcc/lto/ChangeLog trunk/gcc/lto/lto.c