Hi! cppcheck apparently warns on the | !!sticky part of the expression and using | (!!sticky) quiets it up (it is correct as is). The following patch adds the ()s, and also adds them around mant >> 1 just in case it makes it clearer to all readers that the expression is parsed that way already.
Ok for trunk? 2024-04-15 Jakub Jelinek <ja...@redhat.com> PR libgcc/114689 * config/m68k/fpgnulib.c (__truncdfsf2): Add parentheses around !!sticky bitwise or operand to quiet up cppcheck. Add parentheses around mant >> 1 bitwise or operand. --- libgcc/config/m68k/fpgnulib.c.jj 2023-11-11 08:52:20.927838065 +0100 +++ libgcc/config/m68k/fpgnulib.c 2024-04-15 16:29:57.810026425 +0200 @@ -302,7 +302,7 @@ __truncdfsf2 (double a1) if (exp == EXPDMASK - EXCESSD + EXCESS) { exp = EXPMASK; - mant = mant >> 1 | (mant & 1) | !!sticky; + mant = (mant >> 1) | (mant & 1) | (!!sticky); } else { Jakub