Richard Earnshaw wrote:
> This patch fixes a couple of cases where reload incorrectly thinks it
> should be messing around with the result of a match_operator operand.
> Given that it's never even tried to validate the contents of such an
> operand the changes it tries to make are bogus.
I'm wondering why this change is necessary; existing code seems to
attempt to handle match_operator operands by detecting an empty
constraint string:
if (*constraints[i] == 0)
/* Ignore things like match_operator operands. */
;
[...]
/* An empty constraint or empty alternative
allows anything which matched the pattern. */
if (*p == 0 || *p == ',')
win = 1, badop = 0;
So it seems to me that for match_operator operands, the
goal_alternative_win flag should always be true ...
Can you find out why this isn't true in your case?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
[email protected]