Java bootstrap fails compiling libjava

Tom Tromey tromey@redhat.com
Sun Jun 5 17:33:00 GMT 2005


>>>>> "Richard" == Richard Guenther <richard.guenther@gmail.com> writes:

Richard> On 6/4/05, Bryce McKinlay <mckinlay@redhat.com> wrote:
>> I've just done an x86_64 build of HEAD and didn't see this error.

Richard> Hm, ok - it seems changing java/parse.y:build_if_else_statement
Richard> to not construct a COND_EXPR with NULL_TREE type, but
Richard> void_type_node causes this.  Any idea why?

Do you really get a valid build if you do this?
It seems like it would short-circuit patching the COND_EXPR, which
would show up as crashes later on.

The way gcj's .java parsing/analysis code works in general is that it
has two passes.  When parsing (the first pass), it constructs trees
whose TREE_TYPE is NULL_TREE.  Then later there is an analysis pass
where it goes back and fills in all the types.  Some other
modifications are made as well.

Your original failure was odd in that it doesn't make sense to see an
IDENTIFIER_NODE during the definite assignment analysis (this is what
check-init.c is doing).

More context might help.  Like, go up a frame or two and see why
check_init is being passed an IDENTIFIER_NODE.

Tom



More information about the Java mailing list