On Tue, 11 Aug 2015, Richard Biener wrote:
On Tue, 11 Aug 2015, Marc Glisse wrote:
On Wed, 29 Jul 2015, Richard Biener wrote:
The following fixes PR67053 by more closely mirror what fold_binary()s
STRIP_NOPS does to avoid the C++ FE constexpr code to regress.
Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
Yes, I'm thinking on an automated way to more closely mirror
STRIP_[SIGN_]NOPS behavior (on toplevel args).
As far as I can see, you are not currently checking that these conversions are
NOPs. I didn't test, but I am afraid this may simplify (char)p1==(char)p2 to
false a bit too quickly.
I'm relying on our restrictions on conversions of pointers to integers
which requires same-precision (and thus always NOP-style) here.
Indeed. I had tested yesterday with an older gcc that we were generating
the problematic pattern (with conversion from pointer to char), but I
can't reproduce today, so I guess I had typoed something :-(
--
Marc Glisse