qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 1/5] fpu/softfloat: Silence 'bitwise negation of boolean e


From: Alex Bennée
Subject: Re: [PATCH v3 1/5] fpu/softfloat: Silence 'bitwise negation of boolean expression' warning
Date: Wed, 17 Jun 2020 11:37:43 +0100
User-agent: mu4e 1.5.3; emacs 28.0.50

Richard Henderson <richard.henderson@linaro.org> writes:

> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> When building with clang version 10.0.0-4ubuntu1, we 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:4273:18: error: bitwise negation of a boolean expression; 
> did you mean logical negation? [-Werror,-Wbool-operation]
>           zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven );
>                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Fix by rewriting the fishy bitwise AND of two bools as an int.
>
> Suggested-by: Eric Blake <eblake@redhat.com>
> Buglink: https://bugs.launchpad.net/bugs/1881004
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Message-Id: <20200528155420.9802-1-philmd@redhat.com>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]