diff options
Diffstat (limited to 'results/classifier/108/graphic/1881004')
| -rw-r--r-- | results/classifier/108/graphic/1881004 | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/results/classifier/108/graphic/1881004 b/results/classifier/108/graphic/1881004 new file mode 100644 index 000000000..4245f1d02 --- /dev/null +++ b/results/classifier/108/graphic/1881004 @@ -0,0 +1,157 @@ +graphic: 0.964 +permissions: 0.960 +semantic: 0.941 +other: 0.939 +performance: 0.928 +device: 0.921 +debug: 0.918 +socket: 0.914 +vnc: 0.913 +KVM: 0.910 +PID: 0.900 +network: 0.888 +files: 0.847 +boot: 0.845 + +fpu/softfloat.c: error: bitwise negation of a boolean expression + +Last time I built QEMU was on commit d5c75ec500d96f1d93447f990cd5a4ef5ba27fae, +I just pulled to fea8f3ed739536fca027cf56af7f5576f37ef9cd and now get: + + CC lm32-softmmu/fpu/softfloat.o +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 ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +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 ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:3483:18: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + absZ0 &= ~(((uint64_t)(absZ1<<1) == 0) & roundNearestEven); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:3606:13: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + zSig &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:3760:13: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + zSig &= ~ ( ( ( roundBits ^ 0x200 ) == 0 ) & roundNearestEven ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:3987:21: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:4003:22: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + zSig0 &= ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +fpu/softfloat.c:4273:18: error: bitwise negation of a boolean expression; did you mean logical negation? [-Werror,-Wbool-operation] + zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven ); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ! +8 errors generated. + +$ clang -v +clang version 10.0.0-4ubuntu1 +Target: aarch64-unknown-linux-gnu + +$ lsb_release -a +No LSB modules are available. +Distributor ID: Ubuntu +Description: Ubuntu 20.04 LTS +Release: 20.04 +Codename: focal + +On Wed, 27 May 2020 at 20:21, Philippe Mathieu-Daudé +<email address hidden> wrote: +> +> Public bug reported: +> +> Last time I built QEMU was on commit d5c75ec500d96f1d93447f990cd5a4ef5ba27fae, +> I just pulled to fea8f3ed739536fca027cf56af7f5576f37ef9cd and now get: +> +> CC lm32-softmmu/fpu/softfloat.o +> 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 ); +> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +> ! + + +"(x & y)" is not a boolean expression, so we should report this to clang +as a bug (I assume what they actually are trying to complain about is +bitwise AND with a boolean expression). + +thanks +-- PMM + + +On 5/27/20 4:40 PM, Peter Maydell wrote: +> On Wed, 27 May 2020 at 20:21, Philippe Mathieu-Daudé +> <email address hidden> wrote: +>> +>> Public bug reported: +>> +>> Last time I built QEMU was on commit d5c75ec500d96f1d93447f990cd5a4ef5ba27fae, +>> I just pulled to fea8f3ed739536fca027cf56af7f5576f37ef9cd and now get: +>> +>> CC lm32-softmmu/fpu/softfloat.o +>> 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 ); +>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +>> ! +> +> +> "(x & y)" is not a boolean expression, so we should report this to clang +> as a bug (I assume what they actually are trying to complain about is +> bitwise AND with a boolean expression). + +We have: + +uint64_t &= ~ ( ( ( int8_t ^ int ) == int ) & bool ) + +which is + +uint64_t &= ~ ( bool & bool ) + +which is then + +uint64_t &= ~ ( int ) + +resulting in one of: + +uint64_t &= 0xffffffffffffffff +uint64_t &= 0xfffffffffffffffe + +It is a very odd way of stating that 'if this condition is true, mask +out the least-significant-bit'. In general, 'bool & bool' is used where +the side-effect-skipping 'bool && bool' is inappropriate; I'm a bit +surprised that clang is not questioning whether we meant '&&' instead of +'&' (the two operators give the same effect in this case). + +You are right that clang is fishy for calling it logical negation of a +bool, when it is really logical negation of an int, but we are also +fishy in that we are using bitwise AND of two bools as an int in the +first place. + +Regardless of whether clang changes, would it be better to write the +code as: + +if (((roundBits ^ 0x40) == 0) && roundNearestEven) { + absZ &= ~1; +} + +-- +Eric Blake, Principal Software Engineer +Red Hat, Inc. +1-919-301-3226 +Virtualization: qemu.org | libvirt.org + + + +Patch sent: +https://lists.gnu.org/archive/html/qemu-devel/2020-05/msg07861.html + +Fixed in commit 4066288694c3bdd175df8, which will be in 5.1. + + |