java/9695: Inner class bug prevent GNU Classpath from compiling [regression]
Thu Feb 13 18:56:00 GMT 2003

>Number:         9695
>Category:       java
>Synopsis:       Inner class bug prevent GNU Classpath from compiling [regression]
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Feb 13 18:56:00 UTC 2003
>Release:        gcj (GCC) 3.4 20030213 (experimental)

GNU Classpath compiles all classes are once to byte code.
This does work with gcj 3.2 but not with gcj 3.3 or 3.4.

Compilation aborts with:
java/util/ internal compiler error: tree check: expected expr_with_file_location, have record_type in find_as_inner_class_do, at java/parse.y:3629
Since the collection classes are merged between GNU Classpath and libgcj you can just take java/util/ java/util/ and java/util/ from the libjava directory. Put them together in a fresh java/util/ dir and compile as follows:

gcj -C java/util/ java/util/ and java/util/

Compiles cleanly with gcj 3.2 but fails as described above with 3.3/3.4.
A workaround is switching and on the command line.

More information about the Gcc-bugs mailing list