https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103881
--- Comment #6 from thomas at habets dot se ---
The sequence point is a bit off topic, but I can't imagine that it's the
intention to warn about `f() & f()`.
Per gcc docs it's supposed to "Warn about code that may have undefined
semantics
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103881
--- Comment #3 from thomas at habets dot se ---
Interesting.
So the difference between "x |= a & a" and "x |= f() & f()" is that the latter
has passed a somewhat arbitrary level of complexity after which GCC is not able
to prove that it's safe,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103881
--- Comment #1 from thomas at habets dot se ---
I just reproduced this from git HEAD, as seen on github (commit
e3cbb8c66c930ba738674b0fcf29848dc3ecfef2), with latest commit today,
2021-12-31.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101537
thomas at habets dot se changed:
What|Removed |Added
CC||thomas at habets dot se
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103881
Bug ID: 103881
Summary: Wconversion false positive when using |= and &= with
two rvalues in binary op
Product: gcc
Version: 11.2.0
Status: UNCONFIRMED