Bug 23754 - [4.0/4.1/4.2/4.3 Regression]: tree check error in check_inner_circular_reference
Summary: [4.0/4.1/4.2/4.3 Regression]: tree check error in check_inner_circular_reference
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: java (show other bugs)
Version: 4.1.0
: P5 normal
Target Milestone: 4.3.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-invalid-code
Depends on: 28067
Blocks:
  Show dependency treegraph
 
Reported: 2005-09-06 20:21 UTC by Wil Mahan
Modified: 2011-06-18 10:48 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build:
Known to work: 3.3.3
Known to fail: 3.4.0 4.0.0 4.1.0
Last reconfirmed: 2005-09-06 22:43:06


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wil Mahan 2005-09-06 20:21:19 UTC
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.
Comment 1 Andrew Pinski 2005-09-06 22:43:06 UTC
Confirmed.
Comment 2 Mark Mitchell 2006-05-25 02:36:17 UTC
Will not be fixed in 4.1.1; adjust target milestone to 4.1.2.
Comment 3 Tom Tromey 2007-01-09 20:48:06 UTC
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.
Comment 4 Jan Hubicka 2011-06-18 10:48:10 UTC
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