https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125767

--- Comment #5 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
(In reply to Christopher Bazley from comment #4)
> it would be possible to work around the issue
I wasn't suggesting that.  I agree the case should be added.  I was just saying
that...

> but I reported it as a bug
> because the function does not seem to behave according to its documented
> contract.
...this function, like several others in poly-int.h, is "best effort". 
Returning false does not mean that no solution is possible.

So the function is behaving according to its contract.  It's just not handling
all cases in the best possible way.

This is similar to how, for example, the routines that ask "can these two
memory accesses alias?" act conservatively.  Returning true (in that case) does
not mean that no technique exists for telling them apart.  New techniques can
be added as we need them.

Reply via email to