[Bug java/13733] [tree-ssa] internal compiler error: in check_pointer_types_r, at gimplify.c:3460
jsturm at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jan 19 05:45:00 GMT 2004
------- Additional Comments From jsturm at gcc dot gnu dot org 2004-01-19 05:45 -------
(In reply to comment #2)
> The java front-end is not converting the trees to gimple right.
That's not precisely correct since java isn't responsible for conversion to
gimple, aside from a few minor langhooks. Either the generic trees produced are
wrong or the gimplifier is misbehaving somewhere.
After compiling the statement
if ((result = this.member).binding == arg)
to generic, the nested MODIFY_EXPR has type (DerivedBug *). The gimplifier
reduces the above to:
struct DerivedBug * T.1;
struct java.lang.Object * T.2;
struct Bug * result;
T.1 = this->member;
result = T.1;
T.2 = result->binding; <---
if (T.2 == arg)
note that the INDIRECT_REF now has "result" as its operand. This operand
substitution is legal provided the operands have the same type, but they do not.
IMO the INDIRECT_REF should have been gimplified into
T.2 = T.1->binding;
with no need for type conversion, since T.1 is equivalent to the result of the
original MODIFY_EXPR.
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|tree-ssa |---
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13733
More information about the Gcc-bugs
mailing list