On Fri, 22 May 2020 at 11:24, Alex Bennée <alex.ben...@linaro.org> wrote: > Examples: > > /tmp/qemu-test/src/fpu/softfloat.c:3365:13: error: bitwise negation of a > boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] > absZ &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ! > /tmp/qemu-test/src/fpu/softfloat.c:3423:18: error: bitwise negation of a > boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] > absZ0 &= ~ ( ( (uint64_t) ( absZ1<<1 ) == 0 ) & roundNearestEven ); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > !
These warnings as printed seem like compiler bugs -- '&' is a bitwise operator, not a boolean one. (Probably the compiler intends to warn about use of the bitwise & on the boolean == result, though.) thanks -- PMM