This is the mail archive of the
mailing list for the GCC project.
Reason for Java failure in set_mem_alias_set
- To: gcc at gcc dot gnu dot org
- Subject: Reason for Java failure in set_mem_alias_set
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Tue, 2 Oct 01 17:22:30 EDT
The problem is in patch_assignment in parse.y.
It seems that lhs_type can be changed without doing a conversion of
lvaue into it. Then if a bounds check is being done, it makes a
COMPOUND_EXPR where the type of that expression is not the same as the
type of it's second argument (operand 1), which is an invalid node, but
nothing ever noticed it before.
I don't know Java, so I don't know how to fix this.
I do feel that set_mem_alias_set call causing this in expr.c's
expand_assignment isn't necessary, but it's good it was there since it
caught this bug!
We probably ought to install code that typechecks trees.