<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/102912>102912</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang/lib/Sema/SemaOverload.cpp: 2 * boolean in compare ?
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang,
            code-quality
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dcb314
      </td>
    </tr>
</table>

<pre>
    Static analyser cppcheck says:

1.

clang/lib/Sema/SemaOverload.cpp:512:26: style: Comparison of a variable having boolean value using relational (<, >, <= or >=) operator. [comparisonOfBoolWithBoolError]

Source code is 

 return (FromWidth < ToWidth + (FromSigned == ToSigned)) &&
 (FromSigned <= ToSigned);

I am pretty sure comparison operators don't apply to booleans.

2.

clang/lib/Sema/SemaOverload.cpp:545:44: style: Comparison of a variable having boolean value using relational (<, >, <= or >=) operator. [comparisonOfBoolWithBoolError]

Duplicate.



</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVM1uozAQfprhMmoEYyDhwCEJRdpTD6nUszGT4F0Hs7aJlLdfOaFt2tNqbyshj2csz3w_gPRen0bmGoodFE0i5zBYV_eqE1medLa_1ocgg1YoR2munh2qaVIDq1_o5dWD2ELaQLqs2eoxU0aOJ6DW6A6oPfBZLuHlws5Y2a_UNIHYFhmB2FIJYos-XA3Hzd6eJ-m0tyPaI0q8SKdlZxgHedHjCTtrDcsRL9LMjLOPNcdGBm1HaRBoA2IPtEcQz_ewB9GgdbeCaIAqtBM7GaxbIRQ79THw5biz1rzpMMT47Jx1UDSPzA52dopR2Z5Re3w8QsdhdmME0Dp7ftN9GOJwfLXLnnbvh4eofY8RjWjw1d5zoCqCAyrjc2_6_cL--wWxewTxA-UZJ8chXNHPLiL9VHMh7bG3I9A6oJwmc8Vg3zX1X1ykf_M0L0Bs8_z_8bSZJ6OVDPyF731N-lr0lahkwnW2JpGvhSirZKiLkomOopOqULTuVF9mVFbdpt9UuWKlEl1TSnm6ySjLRZlWq_LYV3mpuoq44OM6gzzls9RmZczlvLLulGjvZ66zlKqMEiM7Nv72eRIt4hPQPma256ffszQ6XGOxaBJXxy5P3XzykKdG--A_-wYdDNd_ayASAm0_LNHj8g4xgmiT2Zl6CGG6_QCoBWpPOgxzt1L2HJuby3t4mpz9ySoAtTdiHqhduF1q-hMAAP__FFFi3A">