<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/108022>108022</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-tidy] False negative readability-use-std-min-max for integers and less-than/greater-than comparison
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
chrchr-github
</td>
</tr>
</table>
<pre>
~~~c++
int f(int i) {
if (i <= 0) // FN
i = 1;
return i;
}
int g(int i) {
if (i < 1) // warning
i = 1;
return i;
}
~~~
~~~
<source>:7:5: warning: use `std::max` instead of `<` [readability-use-std-min-max]
1 | int f(int i) {
2 | if (i <= 0) // FN
3 | i = 1;
4 | return i;
5 | }
6 | int g(int i) {
7 | if (i < 1) // warning
| ^~~~~~~~~~~~~~~~~~~~~
| i = std::max(i, 1);
8 | i = 1;
| ~~~~~~
~~~
The two functions are equivalent, but there is only one warning.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVE1zmzAQ_TXLZQePkCxjDhycOBx76h8QsIA6spRKwqkv_u0dkcR22ny0DDMS2vd4u_s0q0LQoyWqQd6B3GdqjpPzdTf5bvL5qOM0t1nr-lN9Pp874HfpZXtgO20jDsC3adXAK4TyJYKIqAdMMQRxD2KPbAHwBniDzbcrbIFiQhQgbuie4uwt6sshlPur7PgvsljcaD4pb7UdvxD-WPV8Pv-xAXEf3Ow7AvEAYleC2EkQu4uS2OEcCGHDQuxB7EDsDuoXbBhqGyKpHt2QoqlBG4Yg7zypXrXa6HjK50B5iH1-0DZPNLm_pl4glPf4Sfv5AvgPF8SF8JEf6wvirx6lQ7mEL91KR5tLlh-7Vb6X6Fe-vVJAPpzfed6DPlf0xge-1cCftd5Usv2yFfgGcSt62XyfCOOTw2G2XdTOBlSekH7O-qgM2ZiU2zlinMgT6oDOmhM6S6_1rrK-Fn0lKpVRXZRcVqUoS5ZNteyV3HaSVYzaDS-EWJeFKoaq2KyV7DdtpmvO-JpVBSsEqwRb9ZIxUXI-VGuhaFCwZnRQ2qyMOR5Wzo-ZDmGmumBbxnlmVEsmLOOA884oO-ZR9yfgPI0HXydW3s5jgDUzOsRw_U_U0SyD5IYm99goEwgtjSrqI-En1xwH59OVoZF8QGV7NBRCHidlgTejJxXJL5_YucOj8jo4m83e1FOMjyG5u1yb57G16twBeJPSe1nyR-9-UBeBN0vNAXjzUvax5r8DAAD___OpZY4">