[PATCH] libstdc++: add parentheses around assignments used as truth values
Jonathan Wakely
jwakely@redhat.com
Thu Sep 10 15:54:01 GMT 2020
On 24/08/20 13:26 +0200, Krystian Kuźniarek via Libstdc++ wrote:
>Hi,
>
>A description of the problem/bug and how your patch addresses it:
>I've got a small patch for -Wparentheses in system headers.
Thanks, I'll commit this one too.
>Testcases:
>N/A, it's only a warning.
>
>ChangeLog:
>Sorry, contrib/mklog.py didn't quite work for me.
>For some reason after instruction in line 129: "diff = PatchSet(data)" my
>"diff" variable is always empty.
>
>Bootstrapping and testing:
>Tested that manually by recompling GCC, unfolding all headers with
>`#include <stdc++.h>` and compiling what's been included by it.
>
>The patch itself:
>diff --git a/libstdc++-v3/include/c_global/cmath
>b/libstdc++-v3/include/c_global/cmath
>index b99aaf8df40..25080511722 100644
>--- a/libstdc++-v3/include/c_global/cmath
>+++ b/libstdc++-v3/include/c_global/cmath
>@@ -1893,7 +1893,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> constexpr _Fp
> __lerp(_Fp __a, _Fp __b, _Fp __t) noexcept
> {
>- if (__a <= 0 && __b >= 0 || __a >= 0 && __b <= 0)
>+ if ((__a <= 0 && __b >= 0) || (__a >= 0 && __b <= 0))
> return __t * __b + (1 - __t) * __a;
>
> if (__t == 1)
>@@ -1902,7 +1902,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
> // Exact at __t=0, monotonic except near __t=1,
> // bounded, determinate, and consistent:
> const _Fp __x = __a + __t * (__b - __a);
>- return __t > 1 == __b > __a
>+ return (__t > 1) == (__b > __a)
> ? (__b < __x ? __x : __b)
> : (__b > __x ? __x : __b); // monotonic near __t=1
> }
>
>
>Best regards,
>Krystian
>
More information about the Libstdc++
mailing list